Partilhar via


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
}