new types may not be defined in a return type - C++
What does your .h file end with? I'm guessing that the end of your class defnition does not have a ";". The class is being interpreted as the return type of the first function in your cpp file.
Losing ;
in the end of class declaration could lead to such error.
Class declaration ends with a semicolon.