Compilerfehler C2930
Aktualisiert: November 2007
Fehlermeldung
'Klasse': Typ-Klassen-ID neu definiert als Enumerator von 'Enumerationsbezeichner'
'class' : type-class-id redefined as an enumerator of 'enum identifier'
Eine generische oder Vorlagenklasse kann nicht als Member einer Enumeration verwendet werden.
Dieser Fehler kann dadurch verursacht werden, dass geschweifte Klammern nicht korrekt übereinstimmen.
Im folgenden Beispiel wird C2930 generiert:
// C2930.cpp
// compile with: /c
template<class T>
class x{};
enum SomeEnum { x }; // C2930
class y{};
enum SomeEnum { y };
C2930 kann auch auftreten, wenn Generika verwendet werden:
// C2930c.cpp
// compile with: /clr /c
generic<class T>
ref struct GC {};
enum SomeEnum { GC }; // C2930
ref struct GC2 {};
enum SomeEnum2 { GC2 };