Compiler Error C2533
Visual Studio 2015
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at Compiler Error C2533.
identifier' : constructors not allowed a return type
A constructor cannot have a return type (not even a void return type).
A common source of this error is a missing semicolon between the end of a class definition and the first constructor implementation. The compiler sees the class as a definition of the return type for the constructor function, and generates C2533.
The following sample generates C2533, and shows how to fix it:
// C2533.cpp
// compile with: /c
class X {
public:
X();
};
int X::X() {} // C2533 - constructor return type not allowed
X::X() {} // OK - fix by using no return type
Show: