C4266 (úroveň 4) upozornění kompilátoru
"funkce: Nepřepisovat pro virtuální členské funkce ze základní"typu"; funkce je skrytá.
Odvozené třídy není přepsat všechny přetížení virtuální funkce.
Ve výchozím nastavení je vypnuto upozornění.Další informace naleznete v tématu Upozornění kompilátoru, která jsou ve výchozím nastavení vypnuté.
Následující ukázka generuje 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
Možné řešení:
// 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);
};