Ошибка компилятора C2992
"класс": список параметров типов недопустим или отсутствует
Классу предшествует ключевое слово 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 {};