次の方法で共有


コンパイラ エラー 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