bonjour tout le monde

Voilà, j'ai aucune erreur lors de la compilation mais à l'execution mon programme me retourne une erreur et impossible de voir ce que c'est, j'ai essayé de debugué il me dit pas grand chose, pouvez vous m'aider svp ?

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
 
 
    Map map;
    map.chargementTiles();
    map.aleatoire();
...
    map.affichage();
    SDL_Flip(ecran);
    }
 
    SDL_Quit();
    return EXIT_SUCCESS;
}
map.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
 
#include "map.h"
 
Map::Map()
{
    chipset = IMG_Load("chips.png");
 
    width = WIDTH;
    height = HEIGHT;
 
    nb_tile_w = width/TILE_W;
    nb_tile_h = height/TILE_H;
}
 
Map::~Map()
{
    SDL_FreeSurface(chipset);
}
 
 
void Map::chargementTiles()
{
    int x=0, y=0;
    bool ok = true;
 
    nb_tile = (chipset->w/TILE_W)*(chipset->h/TILE_H);
 
    for(int i = 0; i<nb_tile;i++)
    {
    tiles[i].setX(x);
    tiles[i].setY(y);
    tiles[i].setTravers(ok);
    tiles[i].setId(i);
 
    x+=TILE_W;
 
        if(x>(chipset->w-TILE_W))
        {
            x=0;
            y+=TILE_H;
        }
 
    }
 
}
 
void Map::aleatoire()
{
     srand(time(NULL));
    for(int i=0; i<nb_tile_h; i++)
    {
        for(int j=0; j<nb_tile_w; j++)
        {
            map[i][j] = rand()%nb_tile;
        }
    }
}
 
void Map::affichage()
{
    SDL_Rect src, dst;
    int x=0,y=0;
 
    for(int i=0; i<nb_tile_h;i++)
    {
        for(int j=0; j<nb_tile_w;j++)
        {
            src.x = tiles[map[i][j]].getX();
            src.y = tiles[map[i][j]].getY();
 
            dst.x = x;
            dst.y = y;
 
            SDL_BlitSurface(chipset,&src,SDL_GetVideoSurface(),&dst);
 
            x+=TILE_W;
        }
        x=0;
        y+=TILE_H;
    }
}
map.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
23
24
25
26
27
28
29
30
31
 
#ifndef MAP_HEADER
#define MAP_HEADER
 
#include "global.h"
#include "tile.h"
 
class Map
{
    public:
    Map();
    ~Map();
 
    void chargementTiles();
    void affichage();
    void chargement(string map);
    void aleatoire();
 
    private:
    SDL_Surface *chipset;
    vector <Tile> tiles;
    vector <vector<int> > map;
    unsigned int width;
    unsigned int height;
    unsigned int nb_tile;
    unsigned int nb_tile_w;
    unsigned int nb_tile_h;
 
};
 
#endif
ce que me dit le debugger:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
Selecting target: default
Compiling: done
Starting debugger: done
Adding source dir: C:\Documents and Settings\blastmanu\Mes documents\biguels\
Adding file: SDLapp.exe
Program received signal (SIGSEGV)
Segmentation fault
apparemment c'est un pointeur mais j'ai regardé et je ne vois vraimment rien, je désespère là