[C++] find me fait des siennes

@xi@g@me Messages postés 67 Date d'inscription   Statut Membre Dernière intervention   -  
@xi@g@me Messages postés 67 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
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 :)
A voir également:

2 réponses

@xi@g@me Messages postés 67 Date d'inscription   Statut Membre Dernière intervention   4
 
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)
0
smail82 Messages postés 86 Date d'inscription   Statut Membre Dernière intervention   3
 
salut toi moi je veux avancer dans la programmation sous C mais je peux pas a chaque fois je trouve des lacune
je vous sollicite pour m'aider et me conceiller
0
@xi@g@me Messages postés 67 Date d'inscription   Statut Membre Dernière intervention   4
 
Salut

dans ce cas, tu peux ouvrir un nouveau sujet pour poser ta question

+++
0