Upozornění kompilátoru (úroveň 3) C4534
Konstruktor nebude výchozím konstruktorem třídy class kvůli výchozímu argumentu.
Nespravovaná třída může mít konstruktor s parametry, které mají výchozí hodnoty, a kompilátor to použije jako výchozí konstruktor. Třída označená klíčovým slovem value
nebude používat konstruktor s výchozími hodnotami pro své parametry jako výchozí konstruktor.
Další informace naleznete v tématu Třídy a struktury.
Následující ukázka vygeneruje 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;
}