Bonjour,

Je suis en train de développer un RPG en C++ et je me heurte à un problème.
Je vous donne un extrait des fichiers concernés :

Monstre.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
21
#ifndef _Monstre_
#define _Monstre_
 
#include "Personnage.h"
 
using namespace std;
 
class Monstre
 
{
   private:
   ...
 
   public :
   ...
   void Attaquer(Personnage &cible); // 'Personnage' has not been declared
   ...
 
};
 
#endif

Personnage.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
#ifndef _Personnage_
#define _Personnage_
 
#include "Monstre"
 
class Personnage
{
   protected:
   ...
 
   public:
   ...
   void Attaquer(Monstre &cible); // Pas d'erreur
   ...
};
 
#endif

Notons que je si je mets en commentaire #include "Monstre.h" et "void Attaquer(Monstre &cible)" dans Personnage.h, alors il n'y a plus d'erreur dans mon "Monstre.h" .

Pour résoudre mon problème, je pourrais faire passer ma classe "Monstre" en tant que héritage de la classe personnage, mais je ne veux pas, je veux créer une classe "Monstre" à part entière.

Merci.