Compartilhar via


Aviso do compilador (nível 4, desativado) C4266

'function': nenhuma substituição disponível para função membro virtual do 'type' base; a função é ocultada

Uma classe derivada não substituiu todas as sobrecargas de uma função virtual.

Esse aviso está desativado por padrão. Para obter mais informações, confira Avisos do compilador desativados por padrão.

O seguinte exemplo gera o aviso 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

Resolução possível:

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