コンパイラ エラー C2991
型パラメーター 'parameter' の再定義です
ジェネリック定義またはテンプレート定義の 2 つの parameter
で型が競合しています。 複数のジェネリックまたはテンプレートのパラメーターを定義する場合は、同等の型を使用する必要があります。
次の例では C2991 が生成されます。
// C2991.cpp
// compile with: /c
template<class T, class T> struct TC {}; // C2991
// try the following line instead
// template<class T, class T2> struct TC {};
C2991 は、ジェネリックを使用する場合にも発生することがあります。
// C2991b.cpp
// compile with: /clr /c
generic<class T,class T> ref struct GC {}; // C2991
// try the following line instead
// generic<class T,class T2> ref struct GC {};