Compartilhar via


C4266 de aviso (nível 4) do compilador

'função': nenhuma substituição disponível para a função de membro virtual da base 'type'; função está oculto.

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

Este aviso está desativado por padrão.Consulte Avisos do compilador são desativados por padrão para obter mais informações.

O exemplo a seguir gera 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

Possível solução:

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