Bonsoir.
J'ai deux fichiers hpp :
Terrain.hpp :
Et Case.hpp :
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93 #ifndef _CLASS_TERRAIN_H #define _CLASS_TERRAIN_H #include <SDL/SDL.h> #include <SDL/SDL_image.h> #include <SDL/SDL_ttf.h> #include <stdlib.h> #include <stdio.h> #include <string.h> #include <fstream> #include <sstream> #include <iostream> #include <string> #include <vector> #include <math.h> #include "C_Case.hpp" using namespace std; /* */ struct Data_Decors { int Base_x;//L'emplacement de sa base en x sur l'image. int Base_y;//l'emplacement de sa base en y sur l'image. int Taille_x;//Le nombre de case en x que le décors prend. int Taille_y;//Le nombre de case en y que le décors prend. }; struct Data_Texture_Sol { int Width;//La largeur d'une texture int Height;//La hauteur d'une texture int nombre_textures;//Le nombre de textures qu'il y a par chipset }; class C_Terrain { private: //Taille de la map int LONGUEUR; int LARGEUR; int Pos_x; int Pos_y; SDL_Surface **Img_Textures_sol; SDL_Surface **Img_Textures_bord; SDL_Surface **Img_Decors; SDL_Surface **Img_Coffre; SDL_Surface **Img_Charset; SDL_Surface *Terrain; TTF_Font *font; void Affichage_Decors(int const x, int const y); void Mise_a_jour(); //Data_Decors *Data_Decors; vector<Data_Texture_Sol> m_DataTextureSolList; class C_Case *Case; int clicked; public: // Constructeur. C_Terrain(); // Destructeur. ~C_Terrain(); //Chargement des set int Init(); //Chargement, Sauvegarde de maps int LoadMap(string fichier); int NewMap(int const largeur, int const longueur); int SaveMap(string Name); //Affichage void Affichage(SDL_Surface *cible); //Connaitre les données //Data_Decors *Get_DataDecors(int Decors); Data_Texture_Sol *Get_DataTextureSol(int TextureSol); //Clic sur une case int Clic(int const numSritex, int const numSpritey, int const xsouris, int const ysouris, int const clic); }; #endif
Mais lors de la compilation, ça plante à la ligne de Case.hpp :
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64 #ifndef _CLASS_CASE_H #define _CLASS_CASE_H #include <SDL/SDL.h> #include <SDL/SDL_image.h> #include <SDL/SDL_ttf.h> #include <stdlib.h> #include <stdio.h> #include <fstream> #include <sstream> #include <iostream> #include <string> #include <vector> #include <math.h> #include "SDL_Event.hpp" #include "C_Terrain.hpp" using namespace std; /* CLASSE CASE Liée à la classe C_Terrain, elle contient les informations sur la case. */ class C_Case { private: int affich_x;//La position x de la case int affich_y;//La position y de la case short elevation;//La hauteur de la case, positif int texture_sol;//La texture du sol de la case Data_Texture_Sol *pointeur_texture_sol;//L'adresse de la texture int texture_bord;//La texture du bord de la case int decors;//Le décors placé sur la case int Nr_texture;//Le Nr de la texture sur l'image Data_Decors *pointeur_decors;//L'adresse du décors int Decors_x;//la position X et Y du décors int Decors_y;// int Coffre; int Item; int PNJ; int Charset; int Angle_Charset; int ID; string Map; public: SDL_Events *Events; class C_Terrain Terrain(); // Constructeur. C_Case(SDL_Events &Event); // Destructeur. ~C_Case(); int Get_TextureSol(); void SetData(string buf, int pos_x, int pos_y); //Clic sur une case int Clic(); }; #endif
'ISO forbids declaration of Data_Texture_Sol with no type'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Data_Texture_Sol *pointeur_texture_sol;
En gros, le compilateur ne voit pas Data_Texture_Sol se trouvant dans Terrain.hpp. Pourquoi ?
Je travaille sous Code::Blocks.
Ne vous étonnez pas si le code est sal et étrange, je suis en train de remodeler mon programme.
En attendant votre réponse![]()
Partager