Bonjour a tous,

J'ai le bout de code suivant, qui ajoute un element dans une liste contenue dans une Map, verifie la valeur qui y est mise, puis affiche l'ensemble du contenu de la map.

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
//inserer l'element
_recordRulesMap[record].push_back(ProcessingRule(offset,length,processing.c_str()[0],callback));
 
//Verfier la valeur de l'element insere
ProcessingRule rule=*(_recordRulesMap[record].rbegin());
DEBUG("Rule : " << record <<":"<< rule._offset <<"-"<< rule._length <<"/"<< rule._processing << "-"<<rule._callback<<"\n");
 
map<string, list<ProcessingRule> >::iterator itMap;
list<ProcessingRule>::iterator itList;
int number=0;
 
//Parcourir la map
for(itMap=_recordRulesMap.begin(); itMap!=_recordRulesMap.end(); itMap++)
{
    //Parcourir toute la liste
    for(itList=itMap->second.begin(); itList!=itMap->second.end(); itList++)
    {
         //Afficher la valeur de l'objet
         ProcessingRule myRule = *(itList);
         DEBUG("Rule "<<++number<<" found: " << (*itMap).first <<":"<< myRule._offset <<"-"<< myRule._length <<"/" << myRule._processing << "-"<< myRule._callback<<"\n");
 
     }
 
}
Il se trouve que l'output me donne la chose suivante si j'ai 2 objet ProcessingRule dans la map:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 Rule : 01:91-13/ -0
Rule 1 found: 01:8917048-0/ -0
 
Rule : 01:107-49/ -0
Rule 1 found: 01:8918560-0/ -0
Rule 2 found: 01:8918560-0/ -0
J'ai l'impression que je n'accede pas comme il faut a l'element lorsque je parse toute la map.

Je seche severe, parce qu'il ne me semble pas que je me sois planter dans les pointeurs... Or c'est tres surement le cas.

Merci beaucoup pour l'aide que vous pourriez m'apporter,
Roming22