Partager via


Avertissement du compilateur (niveau 4) C4266

'fonction' : aucune substitution disponible pour la fonction membre virtuelle à partir de 'type' de base ; la fonction est masquée

Une classe dérivée n'a pas substitué toutes les surcharges d'une fonction virtuelle.

Cet avertissement est désactivé par défaut.Consultez Avertissements du compilateur qui sont éteints par défaut pour plus d'informations.

L'exemple suivant génère l'erreur C4266 :

// C4266.cpp
// compile with: /W4 /c
#pragma warning (default : 4266)
class Engine {
public:
   virtual void OnException(int&,int);
   virtual void OnException(int&,int&,int);
};

class LocalBinding : private Engine {
   virtual void OnException(int&,int);
};   // C4266

Résolution possible :

// C4266b.cpp
// compile with: /W4 /c
#pragma warning (default : 4266)
class Engine {
public:
   virtual void OnException(int&,int);
   virtual void OnException(int&,int&,int);
};

class LocalBinding : private Engine {
   virtual void OnException(int&,int);
   virtual void OnException(int&, int&, int);
};