Avertissement du compilateur (niveau 4) C4266
Mise à jour : novembre 2007
Message d'erreur
'fonction' : aucune substitution disponible pour la fonction membre virtuelle à partir de 'type' de base ; la fonction est masquée
'function' : no override available for virtual member function from base 'type'; function is hidden
Une classe dérivée n'a pas substitué toutes les surcharges d'une fonction virtuelle.
Cet avertissement est désactivé par défaut. Pour plus d'informations, consultez Compiler Warnings That Are Off by Default.
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);
};