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 :
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
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
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.
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
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.
Partager