Compilerfehler C2073

Aktualisiert: November 2007

Fehlermeldung

'Bezeichner': Elemente der Teilinitialisierung eines Arrays müssen einen Standardkonstruktor haben
'identifier' : elements of partially initialized array must have a default constructor

Für ein Array mit benutzerdefinierten Typen oder Konstanten wurden zu wenige Initialisierer angegeben. Wenn kein expliziter Initialisierer und kein entsprechender Konstruktor für ein Arraymember angegeben werden, muss ein Standardkonstruktor festgelegt werden.

Im folgenden Beispiel wird C2073 generiert:

// C2073.cpp
class A {
public:
   A( int );   // constructor for ints only
};
A a[3] = { A(1), A(2) };   // C2073, no default constructor

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