Bonjour à vous,

Alors voilà j'ai un petit problème et à vrai dire, la gestion de la mémoire ce n'est pas mon fort, voilà mon code :

Dans 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
class Map {
public:
	Map(sf::RenderWindow &);
	sf::RenderWindow &appeuh;
 
	void afficher();
 
private:
	std::vector< std::vector< int > > fixed_items;
	std::vector< std::vector< int > > destructible_items;
	std::vector<Item*> brique_tableau;
 
};
et 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
Map::Map(sf::RenderWindow &app) : appeuh(app) {
	std::vector< std::vector< int > > fixed_items(10,std::vector<int> (10, 0));
	std::vector< std::vector< int > > destructible_items(10,std::vector<int> (10, 0));
 
	int i, j;
 
	for(i = 0; i < 9; i++) {
		fixed_items.at(0).at(i) = 1;
		fixed_items.at(i).at(0) = 1;
		fixed_items.at(9).at(i) = 1;
		fixed_items.at(i).at(9) = 1;
	}
 
	for(i = 0; i <= 9; ++i) {
		for(j = 0; j <= 9; ++j) {
			std::cout << fixed_items.at(i).at(j) << " | ";
		}
		std::cout << std::endl;
 
	}
 
	std::cout << "taille : " << fixed_items.size() << std::endl;
 
}
 
void Map::afficher() {
 
// la est le problème : ça m'affiche 0..
	std::cout << "taille : " << fixed_items.size() << std::endl;
 
	int i, j;
 
	for(i = 0; i < 9; ++i) {
		for(j = 0; j < 9; ++j) {
			std::cout << fixed_items.at(i).at(j) << " | ";
		}
		std::cout << std::endl;	
	}
}
et dans mon main :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
	Map maMap = Map(App);
	maMap.afficher();
Mon problème est le suivant, lorsque je scrute mon debugger (j'utilise XCode), je vois qu'après le passage du constructeur, mon vector se vide et passe à "out of scope"

Depuis 2h environ je suis là dessus et je bloque, j'ai vu qu'il fallait peut-être utiliser std::copy mais je ne vois pas trop pourquoi un attribut d'une instance de ma classe se viderais oO

si vous avez une piste je suis preneur ;-)

merci d'avance