Compartir a través de


Advertencia del compilador (nivel 4) C4266

Actualización: noviembre 2007

Mensaje de error

'función': no hay un reemplazo disponible para la función miembro virtual de la base 'tipo'; la función está oculta
'function' : no override available for virtual member function from base 'type'; function is hidden

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

De forma predeterminada, esta advertencia está desactivada. Vea Compiler Warnings That Are Off by Default para obtener más información.

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