Compartilhar via


C4626 de aviso (nível 4) do compilador

'classe derivada': o operador de atribuição não pôde ser gerado porque um operador de atribuição de classe base está inacessível

Um operador de atribuição não estava acessível na classe base e, portanto, não foi gerado para uma classe derivada.Qualquer tentativa de atribuir objetos desse tipo causará um erro do compilador.

Este aviso está desativado por padrão.Consulte Compilador avisos que está desativado por padrão para obter mais informações.

O exemplo a seguir 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
}