What does the “explicit qualification in declaration” error message mean?

tl;dr: Drop the namespace from before the function name.

I ran into the same issue. I had some source that compiled using MS Visual Studio but using g++ in Linux it gave me:

... error: explicit qualification in declaration of '...

It appears that this error occurs when the implementation is already inside namespace foospace {...} and the implementation gives the namespace again int foospace::barfunction(int blah){return 17;}.

Basically, if the implementation (the code in you .cpp file) is already inside namespace foospace {...} then remove foospace:: from the function definition.

Leave a Comment

tech