Compilerfehler C2940
Aktualisiert: November 2007
Fehlermeldung
'Klasse': ID der Typklasse wurde als lokale typedef neu definiert
'class' : type-class-id redefined as a local typedef
Eine generische oder Vorlagenklasse kann nicht als lokale typedef verwendet werden.
Im folgenden Beispiel wird C2940 generiert:
// C2940.cpp
template<class T>
struct TC {};
int main() {
typedef int TC<int>; // C2940
typedef int TC; // OK
}
C2940 kann auch auftreten, wenn Generika verwendet werden:
// C2940b.cpp
// compile with: /clr
generic<class T>
ref struct GC { };
int main() {
typedef int GC<int>; // C2940
typedef int GC;
}