Compiler Error C2073

'identifier' : partially initialized array requires a default constructor

An array of user-defined types or an array of consists was specified with too few initializers.

If an explicit initializer (and its corresponding constructor) is not specified for a member of an array, then a default constructor must be supplied.

The following is an example of this error:

class A
{
public:
   A( int );              // constructor for ints only
};
A a[3] = { A(1), A(2) };  // error, no default constructor
class B
{
public:
   B();                   // default constructor declared
   B( int );
};
B b[3] = { B(1), B(2) };  // OK