次の方法で共有


コンパイラ エラー C2920

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

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

次の例では、C2920 を生成し、その修正方法を示しています。

// C2920.cpp
// compile with: /c
typedef int TC1;
template <class T>
struct TC1 {};   // C2920
struct TC2 {};   // OK - fix by using a different name

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

// C2920b.cpp
// compile with: /clr /c
typedef int GC1;
generic <class T>
ref struct GC1 {};   // C2920
ref struct GC2 {};   // OK - fix by using a different name