Предупреждение компилятора (уровень 3) C4534
Конструктор не будет конструктором по умолчанию для класса "class" из-за аргумента по умолчанию
Неуправляемый класс может иметь конструктор с параметрами, имеющими значения по умолчанию, и компилятор будет использовать это в качестве конструктора по умолчанию. Класс, value
помеченный ключевым словом, не будет использовать конструктор со значениями по умолчанию для его параметров в качестве конструктора по умолчанию.
Дополнительные сведения см. в статье Классы и структуры.
Следующий пример приводит к возникновению ошибки C4534:
// C4534.cpp
// compile with: /W3 /clr /WX
value class MyClass {
public:
int ii;
MyClass(int i = 9) { // C4534, will not be the default constructor
i++;
}
};
int main() {
MyClass ^ xx = gcnew MyClass;
xx->ii = 0;
}