Compiler Error C2351

obsolete C++ constructor initialization syntax

A direct base class was not named in the constructor.

The new-style initialization list for a constructor member requires each direct base class to be explicitly named, even if it is the only base class in the list.

The following is an example of this error:

class B
{
public:
   B();
   B( int );
};
class D : public B
{
public:
   D( int i ) : ( i ) {}   // error, B was not named
   D( int i ) : B( i ) {}  // OK
};