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