Bonsoir a tous, j'ai un problème avec mon mini-programme que je n'arrive pas a résoudre. Le code est tout simple, mais je n'arrive pas a utiliser les méthodes d'une classe dans mon main. Voici le code allégé :
Le main.cpp :
etatcase.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
15
16
17
18
19
20 #include <iostream> #include "etatcase.h" using std::endl; using std::cout; using std::cin; int main() { int dcaseune; Etatcase Caseune(false,2); cout << "Caseune a comme direction :" ; dcaseune=Caseune.get_d(); cout << Caseune.get_d(); return 0; }
et enfin etatcase.cpp (avec uniquement les fonctions concernés) :
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
18
19
20
21
22
23
24 #ifndef ETATCASE_H_INCLUDED #define ETATCASE_H_INCLUDED class Etatcase { public : Etatcase(); Etatcase(bool o, int d); bool get_o(); int get_d(); void set_o(bool o); void set_d(int d); void modif_d(); private : bool occupe; int direction; // 1 ouest 2 nord 3 est 4 sud }; #endif // ETATCASE_H_INCLUDED
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
18
19
20
21
22
23 #include "etatcase.h" using namespace std; Etatcase::Etatcase() { occupe = false; direction = 1; } Etatcase::Etatcase(bool o, int d) { // if (d<1 or d>4) d=1; direction = d; occupe = o; } int Etatcase::get_d() const { return d; }
Quand j'essaye de construire mon projet, code blocks me donne deux erreurs dans le main :
-Undefined reference to 'Etatcase::Etatcase(bool, int)'
-Undefined reference to 'Etatcase::get_d()'
pourtant, les include me semblent bon.
J'attends vos réponses, merci d'avance et bonne année !
Partager