c++ – Error: expected type-specifier before ‘ClassName’

Publié dans C / C++ | Marqué avec , ,
Share

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’

Répondre à Gw Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *