次の方法で共有


コンパイラ エラー C2921

再定義 : 'class' : クラス テンプレートまたはジェネリックは 'type' として宣言されます。

ジェネリックまたはクラス テンプレートに複数の等しくない宣言が存在します。 このエラーを修正するには、型ごとに異なる名前を使用するか、型名の再定義を削除します。

次の例では、C2921 エラーが生成されます。

// C2921.cpp
// compile with: /c
template <class T> struct TC2 {};
typedef int TC2;   // C2921
// try the following line instead
// typedef struct TC2<int> x;   // OK - declare a template instance

C2921 は、ジェネリックを使用する場合にも発生することがあります。

// C2921b.cpp
// compile with: /clr /c
generic <class T> ref struct GC2 {};
typedef int GC2;   // C2921
// try the following line instead
// typedef ref struct GC2<int> x;