Udostępnij za pomocą


Błąd kompilatora C2920

redefinition : "class" : szablon klasy lub rodzaj został już zadeklarowany jako "typ"

Uwagi

Klasa ogólna lub szablon ma wiele deklaracji, które nie są równoważne. Aby naprawić ten błąd, użyj różnych nazw dla różnych typów lub usuń ponowne zdefiniowanie nazwy typu.

Przykłady

Poniższy przykład generuje kod C2920 i pokazuje, jak go naprawić:

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

C2920 może również wystąpić w przypadku używania typów ogólnych:

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