Erreur de compilation : has incomplete type
Bonjour,
J'ai une erreur de compilation avec mingw:
D:\Programmation\projects\test reseau 2\interface_moteur.hpp|43|error: field `les_commandes' has incomplete type|
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| //commandes.hpp
///
/*
classe pour mettre en commun les contrôles en cour de jeu
*/
///
#ifndef _COMMANDES_
#define _COMMANDES_
class Commandes;
#include <SDL/SDL.h>
#include "singleton.hpp"
#include "general.hpp"
#include "interface_moteur.hpp"
class Commandes
{
public:
Commandes(interface_moteur* le_moteur_) : le_moteur(le_moteur_){}
~Commandes();
void event(SDL_Event event);
protected:
//rien
private:
Commandes();
interface_moteur* le_moteur;
void appui(SDL_Event event);
};
#endif |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| //interface_moteur.hpp
///
/*
juste pour quelques appels pour l'instant, classe virtuelle pure
*/
///
#ifndef _INTERFACE_MOTEUR_
#define _INTERFACE_MOTEUR_
class interface_moteur;
#include <SDL/SDL.h>
#include "commandes.hpp"
//#include "jeu.hpp"
enum{HAUT,BAS,GAUCHE,DROITE};
class interface_moteur
{
friend class Commandes;
public:
interface_moteur() : continuer(true),les_commandes(this){}
virtual ~interface_moteur(){}
virtual bool actualisation(SDL_Surface* surface,long temps) = 0;
virtual void evenement(SDL_Event event) = 0;
virtual void mouvement(int direction) = 0;
void Continue(bool b){continuer = b;}
//void TheTime(long temps)
protected:
bool continuer;
Commandes les_commandes;
private:
};
void corrigerPosition(SDL_Rect *p);
#endif |
Je vois vraiment pas comment faire...
Merci si vous pouvez m'aider