Les structures me posent vraiment probleme
Voila, dans une classe Model, j'ai declaré une structure Case.
Dans une classe View, je souhaite pouvoir dessiner cette Case et j'ai donc une methode DrawCase qui doit avoir en parametre une Case.
Voici l'en tête Model :
Code :
- class Model{
- public:
- Model();
- ~Model(){};
- struct Pion{
- int numeropion;
- int numerocase;
- bool couleur;
- };
- struct Case{
- int numerocase;
- bool couleur;
- Pion* pion;
- };
- private:
- };
|
l'en tete de View suivit de sa source
Code :
- #include "Model.h"
- #ifndef View_h
- #define View_h
- class View{
- public:
- View();
- ~View(){};
-
- void drawCase(struct Case * c, EasyWindow* _fenetre);
- private:
- EasyWindow* fenetre; // Fenetre graphique
-
- };
|
Code :
- void View::drawCase(struct Case * c, EasyWindow* _fenetre){// Dessine une Case
- cout<<c->numerocase<<endl;
- }
|
Cependant, ca ne marche pas et voici l'erreure de compilation
View.cpp:23: error: invalid use of undefined type `struct Case'
View.h:23: error: forward declaration of `struct Case
View.cpp:23 correspond a la ligne 2 de la source cpp
et View.h:23: à la ligne 12 de l'en tete view
J'ai l'impression que l'objet View ne connait tout simplement pas la structure Case alors que je fait bien un include de Model.
Je me demande donc s'il est vraiment possible pour View de voir la declaration de Case ds l'Objet Model ...