Fatal error en C++

Bonjour,
j"arrive pas a compiler un programme en c++;5 message d"herreur de type : fatal errorC1014:fichier Include tros nombreux:profondeur = 1024
Configuration: Windows XP
Firefox 3.0.4

10 réponses

  1. je dois developper un logiciel de chat en c.et je me suis bloqué
    si quel qu'un peut m'aider je serai ravi
    0
    1. sachant que je travaille sur visual c++
      bon la le nombre d"erreur c"est multiplié
      0
      1. Contributeur
        Désolé, j'ai mal placé le #define et le #ifndef. J'ai corrigé mon erreur dans le post précédent. Re teste. ;)
        0
    2. Contributeur
      Salut,
      C'est normal, c'est ce qu'on appelle de l'inclusion récursif. Il faut faire ce qu'on appelle un guard.
      Tu dois rajouter trois lignes. Voici un exemple (j'ai mis les lignes à rajouter en gras).
      Tu fais ça pour chacun de tes fichiers, en changeant bien évidemment PORTE_H en le nom de ton fichier h.

      #include"Porte.h"
      
      #include"Monstre.h"
      #include"main.h"
      
      #ifndef PORTE_H
      #define PORTE_H
      
      class Porte;
      class Monstre;
      class Chambre{
      Porte portes[4];
      Monstre *mstr;
      public:
      Chambre();
      ~Chambre();
      Chambre* getvs(Dir d)const;
      void setvs(Dir d,Chambre* chbr);
      Monstre* getmstr()const;
      void setmstr(Monstre* m);
      void setverou(Dir d,bool ver);
      bool estverou(Dir d)const;
      int nbreporteverou();
      Chambre getvsacc()const;
      void detruiremstr();
      
      
      };
      
      #endif
      
      
      0
      1. #include"Porte.h"

        #include"Monstre.h"
        #include"main.h"
        class Porte;
        class Monstre;
        class Chambre{
        Porte portes[4];
        Monstre *mstr;
        public:
        Chambre();
        ~Chambre();
        Chambre* getvs(Dir d)const;
        void setvs(Dir d,Chambre* chbr);
        Monstre* getmstr()const;
        void setmstr(Monstre* m);
        void setverou(Dir d,bool ver);
        bool estverou(Dir d)const;
        int nbreporteverou();
        Chambre getvsacc()const;
        void detruiremstr();

        };
        0
        1. oui c'est ça ,mais comment resoudre ce prob
          0
          1. J'ai eu le même problème avant.
            J'attends que tu me colle l'entête de ton code source et l'entête de l'include appellé
            0
          2. @natas666#include"Porte.h"

            #include"Monstre.h"
            #include"main.h"
            class Porte;
            class Monstre;
            class Chambre{
            Porte portes[4];
            Monstre *mstr;
            public:
            Chambre();
            ~Chambre();
            Chambre* getvs(Dir d)const;
            void setvs(Dir d,Chambre* chbr);
            Monstre* getmstr()const;
            void setmstr(Monstre* m);
            void setverou(Dir d,bool ver);
            bool estverou(Dir d)const;
            int nbreporteverou();
            Chambre getvsacc()const;
            void detruiremstr();

            };
            0
          3. @natas666l'autre fichier Chambre.h
            et voiçi fichier Porte.h
            #include"Chambre.h"
            class Chambre;
            class Porte
            {bool verou;
            Chambre * ouvre-sur;
            public:
            Porte();
            Chambre* getovrs()const;
            void setovrs(chambre* ch);
            bool estveroup()const;
            void setveroup(bool ver);
            };
            0
          4. @naymaAh, ça va, je pensais que dans ton fichier chambre.h (apr exemple) tu avais fais #include "chambre.h" donc il va s'inclure récursivement de manière infinie, d'où l'erreur !

            Mais là, ça va, je ne vois pas de probleme!

            include récursif dans ccc_shap.h

            Il est indispensable de toujours mettre des gardes pour éviter les includes récursifs.

            Moi, j'aurai pris des précautions en faisant comme ceci (exemple pour ton chambre.h):

            #ifndef CHAMBRE_H_
            # define CHAMBRE_H_

            // code

            #endif
            0
          5. @natas666excuse moi pour "include récursif dans ccc_shap.h" !!! je me suis trompé là dessus! j'ai marqué le nom de mon fichier.
            0
        2. Je crois que que ton probleme est par rapport aux includes récursifs
          0
          1. alors comment faire j'ai besoin de ces includes
            0
            1. Tu peux coller ces includes ici ?
              0
          2. Il y'a trop d'include
            0
            1. si on enleve les include
              152 erreur
              0
            2. bon moi et nadia on fait un jeu de labyrithe c++
              ya bcps de fichiers qui l'un utilise l'autre
              0