Compartir a través de


Advertencia del compilador (nivel 4) C4266

'función': no hay un reemplazo disponible para la función miembro virtual de la base 'tipo'; la función está oculta

Una clase derivada no reemplazó todas las sobrecargas de una función virtual.

De forma predeterminada, esta advertencia está desactivada.Para obtener más información, consulte Advertencias del compilador Desactivadas De forma predeterminada.

El ejemplo siguiente genera el error 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

Posible solución:

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