Avviso del compilatore (livello 4, off) C4266
'function': nessun override disponibile per la funzione membro virtuale dalla base 'type'; la funzione è nascosta
Una classe derivata non ha eseguito l'override di tutti gli overload di una funzione virtuale.
Per impostazione predefinita, questo avviso non è attivo. Per altre informazioni, vedere Compiler Warnings That Are Off by Default.
L'esempio seguente genera l'errore 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
Possibile soluzione:
// 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);
};