Freigeben über


Compilerwarnung (Stufe 4) C4266

'Funktion': Keine Überschreibung für virtuelle Memberfunktion der Basis 'Typ' verfügbar; die Funktion wird ausgeblendet

Eine abgeleitete Klasse hat nicht alle Überladungen einer virtuellen Funktion überschrieben.

Diese Warnung ist standardmäßig deaktiviert. Weitere Informationen finden Sie unter Compiler Warnings That Are Off by Default.

Im folgenden Beispiel wird C4266 generiert:

// 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

Mögliche Lösung:

// 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);
};