Bonjour à tous,

Après avoir créer l'objet Map dans mon vector, je désire récupérer simplement son nom via la méthode getMapName() (Map.h/Map.cpp) mais le programme plante.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
using namespace std;

[...]

string map_name = "";
vector<Map*> v_maps;

[...]

cout << "Give it a name: ";
cin >> map_name;
v_maps.push_back(new Map(map_name));
cout << "Object ''" << v_maps.back()->getMapName() << "' well created." << endl << endl; //L'executable plante ici
L'executable plante à la ligne 13: v_maps.back()->getMapName() avec ce message :

Nom : Capture.JPG
Affichages : 268
Taille : 28,2 Ko

Je me rend alors sur le header vector ligne 97 :

Fichier vector - ligne 97 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
        {// report error
	_DEBUG_ERROR("vector iterator not incrementable");
	}
Je pensais qu'avec <vector>.back() je pouvait récupérer le dernier élément du vector sans passer par une boucle avec incrémentation d'un itérateur.

Ou alors je fais fausse route...

Des idées ?