Fatal error en C++

nadia hareb Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   -  
nayma Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j"arrive pas a compiler un programme en c++;5 message d"herreur de type : fatal errorC1014:fichier Include tros nombreux:profondeur = 1024

10 réponses

natas666 Messages postés 259 Date d'inscription   Statut Membre Dernière intervention   1
 
Il y'a trop d'include
0
nayma Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
si on enleve les include
152 erreur
0
nayma Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
bon moi et nadia on fait un jeu de labyrithe c++
ya bcps de fichiers qui l'un utilise l'autre
0
nayma Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
moi aussi jai la meme
erreur
0
nadia hareb Messages postés 110 Date d'inscription   Statut Membre Dernière intervention  
 
alors comment faire j'ai besoin de ces includes
0
natas666 Messages postés 259 Date d'inscription   Statut Membre Dernière intervention   1
 
Tu peux coller ces includes ici ?
0
natas666 Messages postés 259 Date d'inscription   Statut Membre Dernière intervention   1
 
Je crois que que ton probleme est par rapport aux includes récursifs
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nadia hareb Messages postés 110 Date d'inscription   Statut Membre Dernière intervention  
 
pardon?
0
nadia hareb Messages postés 110 Date d'inscription   Statut Membre Dernière intervention  
 
oui c'est ça ,mais comment resoudre ce prob
0
natas666 Messages postés 259 Date d'inscription   Statut Membre Dernière intervention   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
nayma Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   > natas666 Messages postés 259 Date d'inscription   Statut Membre Dernière intervention  
 
#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
nayma Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   > natas666 Messages postés 259 Date d'inscription   Statut Membre Dernière intervention  
 
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
natas666 Messages postés 259 Date d'inscription   Statut Membre Dernière intervention   1 > nayma Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
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
natas666 Messages postés 259 Date d'inscription   Statut Membre Dernière intervention   1 > natas666 Messages postés 259 Date d'inscription   Statut Membre Dernière intervention  
 
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
nadia hareb Messages postés 110 Date d'inscription   Statut Membre Dernière intervention  
 
#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
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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
nadia hareb Messages postés 110 Date d'inscription   Statut Membre Dernière intervention  
 
sachant que je travaille sur visual c++
bon la le nombre d"erreur c"est multiplié
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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
nayma Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
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