Freigeben über


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.cppgezeigt:

// C2073b.cpp
// compile with: /c
class B {
public:
   B();   // default constructor declared
   B( int );
};
B b[3] = { B(1), B(2) };   // OK