Udostępnij za pośrednictwem


C4266 (poziom 4) ostrzeżenia kompilatora

"Funkcja": bez zastępowania, które są dostępne dla funkcji członka wirtualnego 'typ podstawowy'; funkcja jest ukryty.

Klasa pochodna nie zastępują overloads wszystkich funkcji wirtualnych.

To ostrzeżenie jest domyślnie wyłączona.Zobacz Ostrzeżenia kompilatora, które są domyślnie wyłączone Aby uzyskać więcej informacji.

Poniższy przykład 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żliwe rozwiązanie:

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