Advertencia del compilador (nivel 4) C4626

Actualización: noviembre 2007

Mensaje de error

'clase derivada': no se puede generar el operador de asignaciones porque no se puede obtener acceso a un operador de asignaciones de clase base
'derived class' : assignment operator could not be generated because a base class assignment operator is inaccessible

Un operador de asignaciones no estaba accesible en una clase base y por tanto no se generó para una clase derivada. Cualquier intento de asignar objetos de este tipo provocará un error del compilador.

De forma predeterminada, esta advertencia está desactivada. Para obtener más información, vea Advertencias del compilador desactivadas de forma predeterminada.

El ejemplo siguiente genera el error 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
}