编译器警告(等级 4)C4626
“derived class”: 未能生成赋值运算符,因为基类赋值运算符不可访问
基类中的赋值运算符不可访问,因此无法为派生类生成赋值运算符。 分配此类型对象的任何尝试都将导致编译器错误。
默认情况下关闭此警告。 有关更多信息,请参见默认情况下处于关闭状态的编译器警告。
下面的示例生成 C4626:
// C4626
// compile with: /W4
#pragma warning(default : 4626)
class B
{
// public:
B& operator = (const B&)
{
return *this;
}
};
class D : public B
{
}; // C4626, make B's copy constructor public
int main()
{
D m;
D n;
// m = n; // this line will cause an error
}