Teilen über


Compilerfehler C2944

'class' : type-class-id neu definiert als Wertargument einer Vorlage

Bemerkungen

Sie können keine generische oder Vorlagenklasse anstelle eines Symbols als Vorlagenwertargument verwenden.

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

Examples

Im folgenden Beispiel wird C2944 generiert:

// C2944.cpp
// compile with: /c
template<class T>
class TC { };

template <int TC<int> > struct X1 { };   // C2944

template <class T > struct X2 {};

C2944 kann auch auftreten, wenn Generics verwendet werden:

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

template <int GC<int> > struct X2 { };   // C2944
template <class T> struct X3 {};   // OK