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.
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
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"); } }
J'ai l'impression que je n'accede pas comme il faut a l'element lorsque je parse toute 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
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
Partager