Probleme compilation (Qt)

Bonjour,
je travaille en C++ depuis un bon moment et je me suis depuis initié a Qt. Cependant une erreur très DERANGEANTE survient lorsque je compile un code avec un header incluant en attribut (private) étant un pointeur vers une autre classe du même projet; Exemple :

//reste du header
private :
QPushButton *quitter;
QVBoxLayout *layout;
int commande;
FenAnalysis *analyse1; // poineur vers une autre classe.

Et à la compilation, j'obtiens :

FenServeur.h:45: error: ISO C++ forbids declaration of `FenAnalysis' with no typ
e


J'ai pourtant inclu tous les headers dans tous les fichiers du projet. C'est très enuyeux et m'obligera à compresser mon prog dans une seule classe !!!
Dons PLEASE aidez-moi, la moindre idée serait la bienvenue.
Configuration: Windows XP
Internet Explorer 6.0

6 réponses

  • Votes
  • Date
  • Date décroissante
  1. Dans ce header, il suffit d'inclure FenAnalysis.h qui contient la déclaration de ta classe FenAnalysis.
    1. Sisi psychopate, c'est fait !! Mais sa ne marche pas !!! je l'ai meme inclu dans le main, sans succes...
      1. Alors il doit y avoir un problème au niveau de ta compilation... Qu'est-ce que tu utilises pour compiler ?
    2. j'utilise le compilateur de Qt (fenetre Prompt)
      1. Tu n'as pas de Makefile ou autre ? C'est Qt qui s'occupe de tout ? (Pas l'habitude de Qt)
    3. Qt a généré le MakeFile, oui oui. Le pire c'est que dans d'autres prog, je faisais ces déclaration et il n'y avait pas d'erreurs générées !! J'ai comparé point par point, mais je n'ai trouvé aucune différence avec mon projet actuel.
      Si ca se trouve, c'est Qt qui déconne???
      1. Truc tout con : tu es sûr de ne pas t'être planté dans le nom de ta classe ? Des fois faut pas chercher plus loin... Sinon, tu n'as pas un fichier .pro avec des options qui pourraient être erronées ?
    4. Tu sais quoi, je viens de recompiler et ça marche... Ce que j'ai fait ; j'ai retiré l'include FenServeur.h dans FenAnalysis.cpp... C'était peut-être un problème d'inclusions?
      1. Tu avais mis l'include dans les deux fichiers .h et .cpp ? Paaas bien, risque d'inclusions multiples ! J'espère que tu protèges tes headers contre ce genre de problèmes ?
    5. oui oui, tous mes headers sont protégés contres les inclusions multiples. Là j'ai hérité FenAnalysis de FenServeur, et malgré la portée protected de mes attributs, les méthodes de FenAnalysis ne parviennent pas à modifier leurs valeurs !!!