Bonjour,
La question est surement très bête, mais je n'arrive pas a résoudre mon problème :
Je souhaite que ma classe tampon enregistre l'objet jeu (de la Classe Jeu) qui l'appelle.
Voici le code de la classe jeu :
Voici mon tampon.h :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Jeu::Jeu(char * nomJoueur1, char * nomJoueur2) { // Enregistrement du tampon Tampon tampon = Tampon(this); }
et le tampon.cpp :
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 #ifndef DEF_TAMPON #define DEF_TAMPON #include "Jeu.h" using namespace std; class Tampon { public: Tampon(); // constructeur simple. Tampon(Jeu *j); private: std::Jeu *jeu; }; #endif
et voilà ce que me répond le compilo :
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 "Tampon.h" using namespace std; Tampon::Tampon() { jeu= new Jeu(); } Tampon::Tampon(Jeu *j) { jeu=j; }
j'ai essayé diverse déclinaison des déclarations il me jette à chaque fois. (J'utilise codeblocks)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Switching to target: default Compiling: Jeu.cpp In file included from Jeu.h:5, from Jeu.cpp:1: Tampon.h:10: error: expected `)' before '*' token Tampon.h:12: error: ISO C++ forbids declaration of `Jeu' with no type Tampon.h:12: error: expected `;' before '*' token Jeu.cpp: In constructor `Jeu::Jeu(char*, char*)': Jeu.cpp:14: error: no matching function for call to `Tampon::Tampon(Jeu* const)' Tampon.h:7: note: candidates are: Tampon::Tampon(const Tampon&) Tampon.h:9: note: Tampon::Tampon()
Si quelqu'un vois le gouffre dans lequel je me suis fourré, je veux bien un coup de main.
Merci
Partager