Partilhar via


Aviso do compilador (nível 4) C4626

«classe derivada» : operador de atribuição foi implicitamente definido como suprimido porque um operador de atribuição de classe base está inacessível ou suprimido

Observações

Um operador de atribuição foi excluído ou não foi 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 de compilador.

Este aviso está desativado por padrão. Consulte Avisos do compilador que estão desativados por padrão para obter mais informações.

Example

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
}