Compilerfehler C2073

'Bezeichner': Elemente der Teilinitialisierung eines Arrays müssen einen Standardkonstruktor haben

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