Sdílet prostřednictvím


Upozornění kompilátoru (úroveň 4) C4266

"funkce": Nepřepisovat k dispozici pro virtuální členskou funkci základní 'typ'; funkce je skrytá.

Odvozené třídy nepřepisovala všechna přetížení virtuální funkce.

Toto upozornění je vypnuto ve výchozím nastavení. Další informace naleznete v tématu Upozornění kompilátoru, která jsou ve výchozím natavení vypnuta..

Následující ukázka generuje upozornění 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);
};