bonjour, je debute en C++, et je suis deja bloqué par un probleme : pour l'instant j'ai juste créé une classe avec une methode, et un main qui créé une instance de cette classe et lance la methode. ça compile sans erreur, mais le programme ne se lance pas et le linker me sort un probleme.
mes classe :
Main.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 #include "Jeu.cpp" #include "Jeu.h" #include <iostream> int main() { Jeu jeu; jeu.Lancer(); return 0; }
Jeu.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #include <iostream> #include "Jeu.h" void Jeu::Lancer() { cout<<"ok"; }
Jeu.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #include <vector> #ifndef JEU_H #define JEU_H class Jeu{ private: vector<int> joueurs; public: Jeu(); ~Jeu(); void Lancer(); }; #endif
j'ai pourtant suivi ce qui est donné dans la FAQ (http://c.developpez.com/faq/cpp/?pag...SS_header_cpp)
le linker me dit :
e:\...\jeu.o(.text+0x10):jeu.cpp: multiple definition of `Jeu::Lancer(void)'
e:\...\main.o(.text+0x10):main.cpp: first defined here
mais si je supprime Lancer() dans un des fichiers ca ne compile plus.
comment faire ?
[/quote]
Partager