Partager via


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 {};