Erreur du compilateur C2992
'class' : liste de paramètres de type non valide ou manquante
La classe est précédée d’un mot clé template
ou générique avec des paramètres manquants ou non valides.
Exemple
L’exemple suivant génère l’erreur 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 peut également se produire lors de l’utilisation de génériques :
// 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 {};