Bonsoir.

J'ai deux fichiers hpp :

Terrain.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
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
#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
Mais lors de la compilation, ça plante à la ligne de Case.hpp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Data_Texture_Sol *pointeur_texture_sol;
'ISO forbids declaration of Data_Texture_Sol with no type'

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