编译器警告(等级 4)C4266

“function”: 没有对基“type”中的虚拟成员函数可用的重写;函数被隐藏

派生类未重写虚函数的所有重载。

默认情况下关闭此警告。 有关更多信息,请参见Compiler Warnings That Are Off by Default

下面的示例生成 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

可能的解决方法:

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