Compilerfehler C2989

Aktualisiert: November 2007

Fehlermeldung

'Klasse': Klassentyp wurde bereits als Nicht-Klassentyp deklariert
'class'á: class type has already been declared as a non-class type

Die generische oder Vorlagenklasse definiert eine nicht auf Vorlagen basierende oder nicht generische Klasse neu. Prüfen Sie die Headerdateien auf Konflikte.

Wenn Sie Teilspezialisierungen einer Klassenvorlage verwenden, informieren Sie sich im Knowledge Base-Artikel Q240866 (nur auf Englisch verfügbar).

Im folgenden Beispiel wird C2989 generiert:

// C2989.cpp
// compile with: /c
class C{};

template <class T>
class C{};  // C2989
class C2{};

C2989 kann auch auftreten, wenn Generika verwendet werden:

// C2989b.cpp
// compile with: /clr /c
ref class GC1;

generic <typename T> ref class GC1;   // C2989
template <typename T> ref class GC2;

generic <typename T> ref class GC2;   // C2989
generic <typename T> ref class GCb;
template <typename T> ref class GC2;
generic <typename T> ref class GCc;

Community-Beiträge

Anzeigen: