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


Ошибка компилятора C3194

"member": тип значения не может иметь оператор назначения

Специальные функции-члены, требующие автоматического вызова компилятором, например конструктор копирования или оператор назначения копирования, не поддерживаются в классе значений.

Пример

Следующий пример приводит к возникновению ошибки C3194.

// C3194.cpp
// compile with: /clr /c
value struct MyStruct {
   MyStruct& operator= (const MyStruct& i) { return *this; }   // C3194
};

ref struct MyStruct2 {
   MyStruct2% operator= (const MyStruct2% i) { return *this; }   // OK
};