Although perhaps unrelated to the original OP question ... this is the error I just had and shows how this error can occur.
When you define a type in a C ++ class and return it, you need to specify the class in which the type belongs.
For instance:
class ClassName{ public: typedef vector<int> TypeName; TypeName GetData(); };
Then GetName () should be defined as:
ClassName::TypeName ClassName::GetData(){...}
not
TypeName ClassName::GetData(){...}
Otherwise, the compiler will return with an error:
error: 'TypeName' does not name a type
source share