Teilen über


Compilerfehler C2939

'class' : type-class-id neu definiert als lokale Datenvariable

Bemerkungen

Sie können keine generische oder Vorlagenklasse als lokale Datenvariable verwenden.

Dieser Fehler ist in Visual Studio 2022 und höheren Versionen veraltet.

Dieser Fehler kann dadurch verursacht werden, dass geschweifte Klammern nicht korrekt übereinstimmen.

Examples

Im folgenden Beispiel wird C2939 generiert:

// C2939.cpp
template<class T>
struct TC { };
int main() {
   int TC<int>;   // C2939
   int TC;   // OK
}

C2939 kann auch auftreten, wenn Generics verwendet werden:

// C2939b.cpp
// compile with: /clr
generic<class T>
ref struct GC { };

int main() {
   int GC<int>;   // C2939
   int GC;   // OK
}