Bonjour à tous,

Je bloque depuis plusieurs jours sur un problème assez ardu, j'ai pas mal cherché sur le net mais je ne trouve vraiment pas.

Mon compilo (MinGW) me sort "engine\PlayerControl.h|16|error: 'ECommandIdentifier' has not been declared|"

Voici le fichier en question :

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
25
26
27
28
29
#ifndef __IS06_PLAYER_CONTROL_H__
#define __IS06_PLAYER_CONTROL_H__
 
#include "CommandIdentifier.h"
#include "EventType.h"
 
namespace is06
{
namespace nEngine
{
class CPlayerControl
{
  public:
    CPlayerControl();
    ~CPlayerControl();
    bool commandEntered(ECommandIdentifier command, EEventType eventType=EVENT_ALWAYS);
    f32 getPlayerDirection();
    f32 getPlayerSpeed();
    f32 getCameraDirection();
    f32 getCameraSpeed();
 
  private:
    CKeyboard* Keyboard;
    CGamepad* Gamepad;
    bool CommandOnce[COMMAND_COUNT];
};
}
}
#endif
Alors que j'inclus bien le fichier d'en-tête de l'énumération concernée juste au-dessus.

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
#ifndef __IS06_COMMAND_IDENTIFIER_H__
#define __IS06_COMMAND_IDENTIFIER_H__
 
namespace is06
{
namespace nEngine
{
//! Enumeration for player control
enum ECommandIdentifier
{
  COMMAND_MENU_UP,
  COMMAND_MENU_DOWN,
  COMMAND_MENU_LEFT,
  COMMAND_MENU_RIGHT,
  COMMAND_MENU_OK,
  COMMAND_MENU_BACK,
  COMMAND_PLAYER_JUMP,
  COMMAND_PLAYER_GUARD,
  COMMAND_COUNT
};
}
}
#endif
J'ai cette erreur depuis que j'ai encapsulé mes objets dans des namespaces. Ce qui m'étonne, c'est que le deuxième paramètre de la fonction incriminé, de type EEventType lui n'est pas pointé par le compilo alors qu'il est exactement déclaré comme l'autre.

Bref j'ai épuisé mes connaissances dans le domaine, si vous avez besoin de tout le code, je l'ai mis à disposition sur GitHub :

https://github.com/is06/Invisible-Sp...9a2e11ac#L1R25

Merci d'avance pour votre aide.