コンパイラの警告 (レベル 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 - to fix, make B's copy constructor public
int main()
{
D m;
D n;
// m = n; // this line will cause an error
}