Bonsoir, j'ai un problème avec une map.
Tout d'abord je la déclare en global :
map<const char*, SkywarsActor> sUh;
Ensuite, dans une fonction, je l'instancie. Mon constructeur va placer "test" dans la variable name de ma fonction.
Fonction 1
1 2 3
| SkywarsActor temp ((x-950.0f), y, z, "test");
sUh["test"] = temp;
cout << sUh["test"].name <<endl; |
Ici la fonction d'affichage du nom affiche bien "test".
Finalement, dans une autre fonction, je récupère le SkywarsActor dans ma map, puis j'affiche son nom. Donc :
Fonction 2
cout << "nom : " << sUh["test"].name << endl;
Et là ça ne marche plus.
A savoir que ma première fonction, dans laquelle j'appelle mon constructeur et stocke temp dans ma map est appelée avant ma deuxième fonction. En revanche, dans le code, la deuxième fonction est située au dessus de la première.
Donc voilà il semblerai que je ne puisse pas récupérer le SkywarActor de ma map dans une fonction autre que celle ou il a été construit, et je ne comprend pas pourquoi.
J'espère avoir été assez explicite, et que quelqu'un me répondra vite !
Merci
Partager