Teilen über


Compilerfehler C2920

Neudefinition: 'class': Klassenvorlage oder Generika wurde bereits als 'type' deklariert

Bemerkungen

Eine generische oder Vorlagenklasse weist mehrere Deklarationen auf, die nicht identisch sind. Verwenden Sie zum Beheben dieses Fehlers unterschiedliche Name für unterschiedlichen Typen, oder entfernen Sie die Neudefinition des Typnamens.

Examples

Im folgenden Beispiel wird C2920 generiert und gezeigt, wie er behoben werden kann:

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

C2920 kann auch auftreten, wenn Generics verwendet werden:

// 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