C++ compilation error, constructor has no return type... but I didn't specify one

Most likely you forgot a semicolon after OpenGLContext's definition. Then your code is parsed as

class OpenGLContext { /* ... */ } OpenGLContext::OpenGLContext(void) { }

That's valid syntactically. But as constructors don't have a return type, like the message says, the compiler complains.


Missing semicolon after the class definition in the header file


Open the file OpenGLContext.h and make sure if you've put semicolon after OpenGLContext class definition.