Une discussion intéressante à lire : c++ – Error: expected type-specifier before 'ClassName' – Stack Overflow quand la compilation C++ vous insulte avec un « expected type-specifier« .
Explication
Le compilateur ne trouve tout simplement pas le type que vous êtes en train d’utiliser… Dommage !
Solution
Une petite checklist fournie par cette discussion sur Stack Overflow :
- You forgot to #include the header that defines it.
- Your inclusion guards are defective.
- Or, the compiler is thinking you meant one scope when really you meant another (For example, if you have NamespaceA::NamespaceB, AND a
::NamespaceB, if you are already within NamespaceA, it’ll look in NamespaceA::NamespaceB and not bother checking ::NamespaceB) unless you explicitly access it.
Soit en français :
- Oublie du #include « MyClass.h » dans MyClass.cpp
- Problème dans la « garde » du header. (c’était mon cas, j’avais copier/coller un .h et son .cpp, et j’avais oublié de modifier « #ifndef MYCLASS_H » dans le header…)
- Un truc au sujet des namespaces que j’ai la flemme de lire 😀
2 Responses to c++ – Error: expected type-specifier before ‘ClassName’