Je pense que quand on met #ifndef HEADER_H (c'est comme le if normal) le HEADER_H n'est pas encore definie, on met #define HEADER_H pour le définir. et ceci se passe lors de la première compilation de
header.h. lors de passage a la compilation a partir du deuxième fichier .cpp,le compilateur va essayer de renter dans le fichier header.h il va tester si HEADER_H n'est pas définit avec #ifndef HEADER_H. Hors nous avons deja définit HEADER_H lors de premier passage dans header.h, donc il ne vas pas entrer dans le bloc :
Code:
1 2 3 4 5 6 7
|
#define HEADER_H
/* définition des classes et structures,
* déclaration des fonctions
* définition de fonctions inline
*/
#endif //HEADER_H |