salut,je voulais demander de l'aide concernant une fonction qui prend en argument un string et une liste de string et qui retourne un int qui représente la position du string dans la liste.(sachant que la chaine existe nécessairement dans la liste donc pas de besoin de vérifier sa présence ou pas)
bon j'ai écrit une fonction qui marche bien dans des cas et pas dans d'autres

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
occurence(list <string> listech,string  s)
  {  int a=0;
      list <string>::const_iterator i,j;
	  i=find(liste.begin(),liste.end(),s);
	  for(j=liste.begin();j!=i;++j)
		  ++a;
return a;
}
en utilisant le fonction comme suit occurence(liste,ch)
avec liste contient par exemple 4 chaines (dont ch) et ch est une variable string résultat d'une autre fonction, le résultat est toujours faux, il me retourne 4
si je lui donne directement un string ou bien une variable de type string juste initialisée avec une chaine,le résultat est juste!!!
je vois pas ou est le problème
s'il vous plait veuillez me répondre