다음을 통해 공유


컴파일러 오류 C2992

'class': 형식 매개 변수 목록이 잘못되었거나 없습니다.

클래스 앞에 template 또는 generic 키워드가 오며 매개 변수가 없거나 잘못되었습니다.

예시

다음 샘플에서는 C2992를 생성합니다.

// C2992.cpp
// compile with: /c
template <class T>
struct Outer {
   template <class U>
   struct Inner;
};

template <class T>   // C2992
struct Outer<T>::Inner {};

template <class T>
template <class U>   // OK
struct Outer<T>::Inner {};

C2992는 제네릭을 사용하는 경우에도 발생할 수 있습니다.

// C2992b.cpp
// compile with: /c /clr
generic <class T>
ref struct Outer {
   generic <class U>
   ref struct Inner;
};

generic <class T>   // C2992
ref struct Outer<T>::Inner {};

generic <class T>
generic <class U>   // OK
ref struct Outer<T>::Inner {};