Freigeben über


Compilerwarnung (Ebene 4) C4626

„Abgeleitete Klasse“: Der Zuweisungsoperator wurde implizit als gelöscht definiert, da auf einen Basisklassen-Zuweisungsoperator nicht zugegriffen werden kann oder dieser gelöscht wurde.

Ein Zuweisungsoperator wurde gelöscht, oder es kann nicht auf diesen in einer Basisklasse zugegriffen werden. Daher wurde er nicht für eine abgeleitete Klasse generiert. Bei jedem Versuch, Objekte dieses Typs zuzuweisen, wird ein Compilerfehler generiert.

Diese Warnung ist standardmäßig deaktiviert. Weitere Informationen finden Sie unter Standardmäßig deaktivierte Compilerwarnungen .

Im folgenden Beispiel wird C4626 generiert und gezeigt, wie Sie diesen Fehler beheben:

// 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
}