Salut !
Je debute dans le C++ en m' embrouillant avec les includes: j' ai un fichier main.h contenant toutes mes includes de base:
Mon fichier SCREEN.h est une simple declaration de base:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 #ifndef MAIN_H #define MAIN_H #include <iostream> #include <string> #include <vector> #include <map> #include "SCREEN.h" using namespace std; #endif
Et mon fichier SCREEN.cpp contient les toutes simples declaration de cette classe:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 #ifndef SCREEN_H #define SCREEN_H #include "main.h" class SCREEN { public: void tes(void); }; #endif //SCREEN_H
Mon fichier main.cpp contient simplement l' include de main.h et la fonction main:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #include "SCREEN.h" void SCREEN::tes(void) { cout << "tes" << endl; }
Voila tout. J' essaye de compiler le tout avec Borland C++ Builder X (avec GCC comme compilateur) et j' obtiens comme erreur que tes est defini plusieurs fois:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 #include "main.h" int main() { SCREEN test; return 0; }
Pourtant, si je compile exactement le même code en ligne de commande avec G++, je n' obtiens aucune erreur !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 "SCREEN.cpp" : src/SCREEN.cpp définitions multiples de « SCREEN::tes() » en ligne 4
Merci
Partager