[C++] Problème headers
Résolu/Fermé
A voir également:
- [C++] Problème headers
- Codeblocks & les headers - Forum Programmation
- MVC (headers + class): erreur dans mon code c++ ✓ - Forum C++
- Cannot modify header information - headers already sent by - Forum PHP
- Php Warning: Cannot modify header information ✓ - Forum PHP
- The size of the request headers is too long. traduction ✓ - Forum Bureautique
2 réponses
Bonjour
Vers le milieu de employe.h, il manque une parenthèse à la fin de
Les destructeur ~bureau(); et ~batiment(); sont seulement déclarés, pas définis. Il faudrait ~bureau() {} et ~batiment() {} pour les définir.
Je te renvoie aux manuels pour la différence entre déclarer et définir.
D'ailleurs, d'une manière générale, les headers ne devraient contenir que des déclarations, pas des définitions
Vers le milieu de employe.h, il manque une parenthèse à la fin de
bat.setnum(ba.getnum();
Les destructeur ~bureau(); et ~batiment(); sont seulement déclarés, pas définis. Il faudrait ~bureau() {} et ~batiment() {} pour les définir.
Je te renvoie aux manuels pour la différence entre déclarer et définir.
D'ailleurs, d'une manière générale, les headers ne devraient contenir que des déclarations, pas des définitions
pour éviter les problèmes des fichiers inclus 2 fois, on fait souvent dans les fichiers .h
#ifndef __INCLUDEBUREAU
#define __INCLUDEBUREAU
(contenu du fichier.h
#endif
comme ça, lors d'une deuxième inclusion, comme __INCLUDEBUREAU est déjà défini on n'inclut plus rien du tout et il n'y a pas de problème.
Evidemment, le symbole __INCLUDEBUREAU doit être différent pour chaque fichier .h !
Bon week-end
#ifndef __INCLUDEBUREAU
#define __INCLUDEBUREAU
(contenu du fichier.h
#endif
comme ça, lors d'une deuxième inclusion, comme __INCLUDEBUREAU est déjà défini on n'inclut plus rien du tout et il n'y a pas de problème.
Evidemment, le symbole __INCLUDEBUREAU doit être différent pour chaque fichier .h !
Bon week-end
4 janv. 2008 à 16:43
Merci. J'ai ajouté la parenthèse dans employe.h et défini les destructeurs.
Le programme a tourné quand j'ai supprimé cet include : au niveau du fichier employe.h
Bonne fin de journée :)