Поделиться через


Предупреждение компилятора (уровень 4) C4626

"производный класс": не удалось создать оператор присваивания, так как оператор присваивания для базового класса недоступен

Не удалось создать оператор присваивания в производном классе, поскольку недоступен соответствующий оператор в базовом классе. При попытке обращения к объектам такого типа возникает ошибка времени компиляции.

Это предупреждение по умолчанию отключено. Дополнительные сведения см. в разделе Отключенные по умолчанию предупреждения компилятора.

В следующем примере возникает предупреждение 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
}