Compartir a través de


Advertencia del compilador (nivel 4) C4626

'clase derivada': no se puede generar el operador de asignaciones porque no se puede obtener acceso a un operador de asignaciones de clase base

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 código 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
}