Bonjour
J'ai quelques headers et beaucoup d'inclusions. En fait, main.h inclut un header qui en inclut un autre ... et qui inclut main.h.
Est-ce cette "boucle" qui peut générer une erreur du type 'parse error' dans le main.h ?
Bonjour
J'ai quelques headers et beaucoup d'inclusions. En fait, main.h inclut un header qui en inclut un autre ... et qui inclut main.h.
Est-ce cette "boucle" qui peut générer une erreur du type 'parse error' dans le main.h ?
Pas trop non ca correspond plus à une erreur d'oubli d'un ; derriere un struct {} ou alors une parenthése.
Il y a des techniques pour éviter les inclusions multiples #pragma once sous Visual C++ sinon faire un tour dans la FAQ
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #ifndef MONHEADER_H_ #define MONHEADER_H_ /* code */ #endif /* guard */
Salut,
L'inclusion multiple de fichiers d'en-tête est relativement facile à éviter. Dans chaque fichier d'en-tête, il faut placer un garde contre les inclusions multiples. Voici comment je procède:
Pour tout savoir sur la manière d'organiser son développement, je te conseille la lecture suivante qui est excellente: http://emmanuel-delahaye.developpez....ganiser_source
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 /* Pour un fichier monheader.h */ /* Le nom du de la macro définie ci-dessous doit être unique. Je procède systématiquement de la même manière: H: C'est un fichier d'en-tête TC: C'est mes initiales MONHEADER: C'est le nom du fichier 2007: C'est l'année de création du fichier 01: C'est le mois 03: C'est le jour 175522: C'est l'heure i.e 17h55min22sec */ #ifndef H_TC_MONHEADER_20070103175522 #define H_TC_MONHEADER_20070103175522 /* Ici, tu places tes déclarations */ #endif /* guard H_TC_MONHEADER_20070103175522 */
En procédant de cette manière, il est peu probable que tu ais des inclusions multiples. Par ailleurs, je ne comprend pas l'intérêt d'inclure une fichier d'en-tête appelé main.h, vu que main.c n'exporte en principe aucune fonction...
Thierry
"The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
"If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow
FAQ-Python FAQ-C FAQ-C++
+
Autant pour moi, Skyrunner, tu as été plus rapide!
Thierry
"The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
"If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow
FAQ-Python FAQ-C FAQ-C++
+
J'avais deja mis des gardes contre les inclusions multiples.
Finalement j'ai enlevé un #include qui servait pas des masses et depuis ca marche bien.
Merci quand meme pour ces réponses
Partager