Partager via


Erreur du compilateur C3217

'param' : le paramètre générique ne peut pas être limité dans cette déclaration

Une contrainte était mal formée ; le paramètre générique de la contrainte doit s’accorder avec le paramètre de modèle de classe générique.

L’exemple suivant génère l’erreur C3217 :

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

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

L’exemple suivant illustre une résolution possible :

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

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