Compilerfehler C2073
'Identifier': Elemente eines teilweise initialisierten Arrays müssen über einen Standardkonstruktor verfügen.
Hinweise
Für ein Array von benutzerdefinierten Typen oder Konstanten wurden zu wenige Initialisierer angegeben. Wenn ein expliziter Initialisierer und sein entsprechender Konstruktor für ein Arraymemm nicht angegeben sind, muss ein Standardkonstruktor angegeben werden.
Dieser Compilerfehler ist in Visual Studio 2022 veraltet.
Beispiel
Im folgenden Beispiel wird C2073 generiert. Quelldatei C2073.cpp
:
// C2073.cpp
class A {
public:
A( int ); // constructor for ints only
};
A a[3] = { A(1), A(2) }; // C2073, no default constructor
Ein Fix wird hier in der Quelldatei C2073b.cpp
gezeigt:
// C2073b.cpp
// compile with: /c
class B {
public:
B(); // default constructor declared
B( int );
};
B b[3] = { B(1), B(2) }; // OK