Bonjour � tous.

J'ai un code qui me parait fonctionnel mais une erreur survient lors de la compilation (d'o� le titre du post).

Voici mon code.

Fichier Classes.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
22
#ifndef CLASSES_H_DEF
#define CLASSES_H_DEF
 
#include "Librairies.h"
 
struct  TileProp
{
	SDL_Rect R;
	int plein;
};
 
struct Map
{
	int LARGEUR_TILE, HAUTEUR_TILE;
	int nbtilesX, nbtilesY;
	SDL_Surface *tileset;
	TileProp props;
	std::vector<std::vector<int>> tableMap;
	int nbtiles_largeur_monde, nbtiles_hauteur_monde;
};
 
#endif
Fichier Librairies.h :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
#ifndef LIBRAIRIE_H_DEF
#define LIBRAIRIE_H_DEF
 
#include <string>
#include <vector>
#include <fstream>
#include <sstream> 
#include <iostream>
#include "Classes.h"
#include <SDL2/SDL.h> 
 
#endif
Et enfin mon fichier main.cpp :

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
94
95
96
97
98
99
100
101
102
103
104
105
106
#include "Librairies.h"
 
void LectureFichierMap(std::string &tilset, Map &map, int &x, int &y)
{
	std::string text;
	std::stringstream bufferFichierMap;
	std::ifstream file("fichier.txt");
 
	bufferFichierMap << file.rdbuf();
	file.close();
 
	while (text != "#tileset\r")
	{
		std::getline(bufferFichierMap, text);
	};
 
	std::getline(bufferFichierMap, tilset);
 
	while (text != "#level\r")
	{
		std::getline(bufferFichierMap, text);
	};
 
	bufferFichierMap >> x >> y;
 
	for (int a(0); a < y; a++)
	{
		map.tableMap.push_back(std::vector<int>(x));
 
		for (int b(0); b < x; b++)
		{
			bufferFichierMap >> map.tableMap[a][b];
		}
	}
 
	bufferFichierMap.clear();
 
}
 
void Afficher(SDL_Renderer* pRender, SDL_Texture* pTexture, std::vector<std::vector<int>>& tableau, int &x, int &y)
{
	int i, j;
	SDL_Rect Rect_dest;
	Rect_dest.w = 16;
	Rect_dest.h = 16;
 
	SDL_Rect Rect_source;
	Rect_source.w = 16;
	Rect_source.h = 16;
 
	for (i = 0; i < x; i++)
	{
		for (j = 0; j < y; j++)
		{
			Rect_dest.x = i*16;
			Rect_dest.y = j*16;
			Rect_source.x = (tableau[j][i] % 13)*16;
			Rect_source.y = (tableau[j][i] / 13)*16;
			SDL_RenderCopy(pRender, pTexture, &Rect_source, &Rect_dest );
		}
	}	
	SDL_RenderPresent(pRender);
}
 
int main(int argc, char** argv)
{
	Map map;
	int x(0), y(0);
	SDL_Window* screen;
	SDL_Surface *tileset;
	SDL_Texture *pTexture;
	SDL_Event event;
	SDL_Renderer* pRender;
	std::string tilset;
 
	LectureFichierMap(tilset, map, x, y);
 
	SDL_Init(SDL_INIT_VIDEO);        // prepare SDL 
 
	screen = SDL_CreateWindow("Map Mario", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,x*16,y*16, SDL_WINDOW_SHOWN);//
 
	pRender = SDL_CreateRenderer(screen, -1, SDL_RENDERER_PRESENTVSYNC);//
	tilset.pop_back();
	tileset = SDL_LoadBMP(tilset.c_str());
	pTexture = SDL_CreateTextureFromSurface(pRender,tileset);
 
	if (!tileset)
	{
		std::cout << "Echec de chargement tileset1.bmp" << std::endl;
		SDL_Quit();
		system("pause");
		exit(-1);
	}
 
	Afficher(pRender, pTexture, map.tableMap, x, y);
 
	do  // attend qu'on appuie sur une touche. 
	{
		SDL_PollEvent(&event);
		SDL_Delay(100);
	} while (event.type != SDL_KEYDOWN);
 
	SDL_FreeSurface(tileset);
	SDL_Quit();
	return 0;
}
Ma liste d'erreur quant � elle est la suivante :

Erreur C2146 erreur de syntaxe*: absence de ';' avant l'identificateur 'R'. (Ligne 8 du fichier Classes.h)
Erreur C4430 sp�cificateur de type manquant - int est pris en compte par d�faut. Remarque*: C++ ne prend pas en charge int par d�faut. (Ligne 8 du fichier Classes.h)
Erreur C2143 erreur de syntaxe*: absence de ';' avant '*'. (Ligne 16 du fichier Classes.h)
Erreur C4430 sp�cificateur de type manquant - int est pris en compte par d�faut. Remarque*: C++ ne prend pas en charge int par d�faut. (Ligne 16 du fichier Classes.h)
J'ai beau le tourner dans tous les sens je ne vois pas ce qui g�n�re ces erreurs...

Merci par avance pour votre aide.