Compiler Error C2380 type(s) preceding 'identifier' (constructor with return type, or illegal redefinition of current class-name?) The specified constructor returned a value or redefined the class name. A constructor cannot specify a return value. This error can be caused by redefining a class name. The following is an example of this error: class C { public: int C(); int C; C(); };
// error, specifies an int return // error, illegal redefinition of current class-name // OK