1 pièce(s) jointe(s)
Problème sur appel de méthode par un vecteur d'objets
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:
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 :
Pièce jointe 248168
Je me rend alors sur le header vector ligne 97 :
Fichier vector - ligne 97 :
Code:
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 ?