Fatal error en C++

nadia hareb Messages postés 122 Statut Membre -  
nayma Messages postés 11 Date d'inscription   Statut Membre -
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. natas666 Messages postés 312 Statut Membre 1
     
    Il y'a trop d'include
    0
    1. nayma Messages postés 11 Date d'inscription   Statut Membre
       
      si on enleve les include
      152 erreur
      0
    2. nayma Messages postés 11 Date d'inscription   Statut Membre
       
      bon moi et nadia on fait un jeu de labyrithe c++
      ya bcps de fichiers qui l'un utilise l'autre
      0
  2. nayma Messages postés 11 Date d'inscription   Statut Membre
     
    moi aussi jai la meme
    erreur
    0
  3. nadia hareb Messages postés 122 Statut Membre
     
    alors comment faire j'ai besoin de ces includes
    0
    1. natas666 Messages postés 312 Statut Membre 1
       
      Tu peux coller ces includes ici ?
      0
  4. natas666 Messages postés 312 Statut Membre 1
     
    Je crois que que ton probleme est par rapport aux includes récursifs
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. nadia hareb Messages postés 122 Statut Membre
     
    pardon?
    0
  7. nadia hareb Messages postés 122 Statut Membre
     
    oui c'est ça ,mais comment resoudre ce prob
    0
    1. natas666 Messages postés 312 Statut Membre 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
      1. nayma Messages postés 11 Date d'inscription   Statut Membre > natas666 Messages postés 312 Statut Membre
         
        #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
      2. nayma Messages postés 11 Date d'inscription   Statut Membre > natas666 Messages postés 312 Statut Membre
         
        l'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
      3. natas666 Messages postés 312 Statut Membre 1 > nayma Messages postés 11 Date d'inscription   Statut Membre
         
        Ah, ç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
      4. natas666 Messages postés 312 Statut Membre 1 > natas666 Messages postés 312 Statut Membre
         
        excuse moi pour "include récursif dans ccc_shap.h" !!! je me suis trompé là dessus! j'ai marqué le nom de mon fichier.
        0
  8. nadia hareb Messages postés 122 Statut Membre
     
    #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
  9. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    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
  10. nadia hareb Messages postés 122 Statut Membre
     
    sachant que je travaille sur visual c++
    bon la le nombre d"erreur c"est multiplié
    0
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      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
  11. nayma Messages postés 11 Date d'inscription   Statut Membre
     
    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