Partager via


Avertissement du compilateur (niveau 4) C4626

Mise à jour : novembre 2007

Message d'erreur

'classe dérivée' : l'opérateur d'assignation n'a pas pu être généré parce qu'un opérateur d'assignation de la classe de base est inaccessible
'derived class' : assignment operator could not be generated because a base class assignment operator is inaccessible

Un opérateur d'assignation était inaccessible dans une classe de base et il n'a donc pas été généré pour une classe dérivée. Toute tentative d'assigner des objets de ce type provoquera une erreur du compilateur.

Cet avertissement est désactivé par défaut. Pour plus d'informations, consultez Avertissements du compilateur désactivés par défaut.

L'exemple suivant génère l'erreur 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
}