Kompilatorfel C2944

"class" : type-class-id omdefinierat som ett värdeargument för en mall

Anmärkningar

Du kan inte använda en allmän klass eller mallklass, i stället för en symbol, som ett mallvärdeargument.

Det här felet är föråldrat i Visual Studio 2022 och senare versioner.

Examples

I följande exempel genereras C2944:

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

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

template <class T > struct X2 {};

C2944 kan också inträffa när du använder generiska läkemedel:

// 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