Partager via


Erreur du compilateur C3299

'fonction_membre' : impossible de spécifier les contraintes, elles sont héritées de la méthode de base

Quand vous substituez une fonction membre générique, vous ne pouvez pas spécifier des clauses de contrainte (car la répétition de contraintes sous-entend que les contraintes ne sont pas héritées).

Les clauses de contrainte de la fonction générique que vous substituez seront héritées.

Pour plus d’informations, consultez Contraintes sur les paramètres de type générique (C++/CLI).

Exemple

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

// C3299.cpp
// compile with: /clr /c
public ref struct R {
   generic<class T>
   where T : R
   virtual void f();
};

public ref struct S : R {
   generic<class T>
   where T : R   // C3299
   virtual void f() override;
};