次の方法で共有


コンパイラ エラー C3217

'param' : ジェネリック パラメーターは、この宣言内で制限されることはできません

制約の形式が正しくありません。制約のジェネリック パラメーターは、ジェネリック クラスのテンプレート パラメーターと一致している必要があります。

次の例では C3217 が生成されます。

// C3217.cpp
// compile with: /clr
interface struct A {};

generic <class T>
ref class C {
   generic <class T1>
   where T : A   // C3217
   void f();
};

次の例では、考えられる解決策を示しています。

// C3217b.cpp
// compile with: /clr /c
interface struct A {};

generic <class T>
ref class C {
   generic <class T1>
   where T1 : A
   void f();
};