Compiler Warning (level 4) C4626
Collapse the table of content
Expand the table of content

Compiler Warning (level 4) C4626


'derived class' : assignment operator was implicitly defined as deleted because a base class assignment operator is inaccessible or deleted

An assignment operator was deleted or not accessible in a base class and was therefore not generated for a derived class. Any attempt to assign objects of this type will cause a compiler error.

This warning is off by default. See Compiler Warnings That Are Off by Default for more information.

The following sample generates C4626 and shows how to fix it:

// 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
© 2015 Microsoft