Aviso do compilador (nível 4) C4626
'classe derivada' : o operador de atribuição foi implicitamente definido como excluído porque um operador de atribuição de classe base está inacessível ou excluído
Um operador de atribuição foi excluído ou não acessível em uma classe base e, portanto, não foi gerado para uma classe derivada. Qualquer tentativa de atribuir objetos desse tipo causará um erro do compilador.
Esse aviso está desativado por padrão. Confira Avisos do compilador desativados por padrão para obter mais informações.
O exemplo a seguir gera C4626 e mostra como corrigi-lo:
// 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
}
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de