Partager via


Erreur du compilateur C2920

redéfinition : 'classe' : la classe de modèle ou générique a déjà été déclarée comme 'type'

Une classe générique ou de modèle possède plusieurs déclarations, qui ne sont pas équivalentes. Pour corriger cette erreur, utilisez des noms différents pour des types différents ou supprimez la redéfinition du nom de type.

L'exemple suivant génère l'erreur C2920 et montre comment la corriger :

// C2920.cpp
// compile with: /c
typedef int TC1;
template <class T>
struct TC1 {};   // C2920
struct TC2 {};   // OK - fix by using a different name

L'erreur C2920 peut également se produire lors de l'utilisation de génériques :

// C2920b.cpp
// compile with: /clr /c
typedef int GC1;
generic <class T>
ref struct GC1 {};   // C2920
ref struct GC2 {};   // OK - fix by using a different name