Aviso do compilador (nível 4) C4626
“classes derivadas: o operador de atribuição não pôde ser gerado porque um operador de atribuição da classe base é inacessível
Um operador de atribuição não estava acessível em uma classe base e em virtude disso não tiver sido gerado para uma classe derivada. Qualquer tentativa para alocar objetos desse tipo provocará um erro de compilador.
Esse aviso é desativada por padrão. Consulte Avisos do compilador que estão por padrão para obter mais informações.
O seguinte exemplo gera 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
}