コンパイラ エラー C2944
'class' : テンプレートの値引数として再定義された type-class-id
シンボルの代わりにジェネリック クラスまたはテンプレート クラスをテンプレート値引数として使用することはできません。
このエラーは、Visual Studio 2022 以降のバージョンでは廃止されています。
次の例では C2944 が生成されます。
// C2944.cpp
// compile with: /c
template<class T>
class TC { };
template <int TC<int> > struct X1 { }; // C2944
template <class T > struct X2 {};
ジェネリックを使用する場合も C2944 が発生する場合があります。
// 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