Bonjour,
J'ai fais une fonction qui fais des calcul et me stockes les résultats dans une map.
Mais au lieu d' insérer 66 éléments (dans les normes) dans la map, la fonction insère 67 clefs.
En effet elle commence par insérer une clef vide avant de continuer à insérer le reste des clef.
C'est la première fois que cela m'arrive et ça reste assez bizarre.
Quelqu'un saurez d'où viens l'erreur s'il vous plait?
Merci.
Voici mon bout de code.
Merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 for( std::map<std::string, std::string>::iterator it1 = SitesDifferentsDonnes.begin(); it1 != SitesDifferentsDonnes.end(); ++it1){ //itterer sur Couple_De_Famille for(std::map<std::string, std::string>::iterator it1compare = it1; it1compare != SitesDifferentsDonnes.end(); ++it1compare){ //Itterer sur espece; int l = it1->second.length () ; int l2 = it1compare->second.length () ; if (l != l2) throw ("Les chaines à comparer ne sont pas égales !") ; std::ostringstream mespositions; for (int i = 0 ; i <l; ++i) { std::ostringstream GeneComparees; if (it1->first != it1compare->first) GeneComparees << it1->first << "_" << it1compare->first; if (it1->second[i] != it1compare->second[i]) { mespositions << " " <<i+1; } SitesDifferents [GeneComparees.str()] = mespositions.str() ; } } } return(SitesDifferents); }
Partager