Udostępnij za pośrednictwem


Ostrzeżenie kompilatora (poziom 4) C4626

"klasa pochodna": operator przypisania został niejawnie zdefiniowany jako usunięty, ponieważ operator przypisania klasy bazowej jest niedostępny lub usunięty

Operator przypisania został usunięty lub niedostępny w klasie bazowej i dlatego nie został wygenerowany dla klasy pochodnej. Każda próba przypisania obiektów tego typu spowoduje błąd kompilatora.

To ostrzeżenie jest domyślnie wyłączone. Aby uzyskać więcej informacji, zobacz Ostrzeżenia kompilatora, które są domyślnie wyłączone.

Poniższy przykład generuje kod C4626 i pokazuje, jak rozwiązać ten problem:

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