[C++] find me fait des siennes
@xi@g@me
Messages postés
76
Statut
Membre
-
@xi@g@me Messages postés 76 Statut Membre -
@xi@g@me Messages postés 76 Statut Membre -
Bonjour,
cette fois, c'est un problème avec find qui m'amène ici.
En effet, considérons les 2 fonctions suivantes :
Le map est le même (instancié de manière statique)
la première fonction marche à merveille à chaque appel, mais quand je lance la deuxième avec une valeur qui est dans le map (confirmé avec un débugger 10.000.000 de fois au moins) it vaut toujours 0xff0000ff après l'appel du find (sans aucune exception).
Cette valeur n'est ni liste_textures.end(), ni un pointeur vers un des std::pair qui compose le map.
Comment est-ce possible?
pourquoi me fait t-il ça?
quelqu'un à une solution?
merci d'avance à tous :)
cette fois, c'est un problème avec find qui m'amène ici.
En effet, considérons les 2 fonctions suivantes :
int ajouter_texture(int identifiant, char * file)
{
int number;
if (liste_textures.find(identifiant) == liste_textures.end())
{
number = ASRES_New(AS_RES_IMAGE);
dbLoadImage(file, number);
liste_textures[identifiant] = number;
}
return liste_textures.find(identifiant)->second;
}
int recuperer_texture(int identifiant)
{
std::map<int, int>::iterator it = liste_textures.find(identifiant);
if (it != liste_textures.end())
{
return it->second;
}
return NULL;
}
Le map est le même (instancié de manière statique)
la première fonction marche à merveille à chaque appel, mais quand je lance la deuxième avec une valeur qui est dans le map (confirmé avec un débugger 10.000.000 de fois au moins) it vaut toujours 0xff0000ff après l'appel du find (sans aucune exception).
Cette valeur n'est ni liste_textures.end(), ni un pointeur vers un des std::pair qui compose le map.
Comment est-ce possible?
pourquoi me fait t-il ça?
quelqu'un à une solution?
merci d'avance à tous :)
Configuration: Windows XP Firefox 2.0.0.18
2 réponses
-
petit edit : (obligé de mettre dans un autre message car trop tard pour éditer l'ancien)
Avant, ca compilait parfaitement. Depuis j'ai réinstallé VS 2005 avec Dark GDK et DirectX SDK et la ca compile toujours mais ca ne marche plus (erreur énoncée plus haut) -
Salut
dans ce cas, tu peux ouvrir un nouveau sujet pour poser ta question
+++