Bonsoir,
Suite a differrente remarque je me suis mis a la STL et je trouve ca pas mal du tout
J'ai donc voulu convertir mon code afin de prendre possesion des avantages de la STL.
Malheureusement... je me vois dans l'incapacitee de debugueer le probleme ici present. L'erreur est un classic "Segmentation fault" et voici une partie de la trace effectuee avec gdb :
fillBin (tabBin=0x80c381c, tabSeg=0x80bbe30, tabVertices=0x80bc0c0, nbSeg=162) at visual12.cpp:1393
1393 if(nbDelList<2) // if(delList is not Full)
1: *iter = (Line *&) @0x80bb740: 0x80bf910
(gdb) next
1395 cout<<(*iter)<<"** added to delList["<<nbDelList<<"]."<<endl<<endl;
1: *iter = (Line *&) @0x80bb740: 0x80bf910
(gdb) next
0x80bf910** added to delList[0].
1396 delList[nbDelList]=(*iter);
1: *iter = (Line *&) @0x80bb740: 0x80bf910
(gdb) next
1397 if((*iter)->getActivity()==true)
1: *iter = (Line *&) @0x80bb740: 0x80bf910
(gdb) next
1399 (*iter)->setActivity(false);
1: *iter = (Line *&) @0x80bb740: 0x80bf910
(gdb) next
1400 workingSegments.erase(iter);
1: *iter = (Line *&) @0x80bb740: 0x80bf910
(gdb) next
1401 numWorkingSegments--;
1: *iter = (Line *&) @0x80bb740: 0x80bf910
(gdb) next
1403 nbDelList++;
1: *iter = (Line *&) @0x80bb740: 0x80bf910
(gdb) next
1388 for(iter=workingSegments.begin(); iter!= workingSegments.end(); ++iter)
1: *iter = (Line *&) @0x80bb740: 0x80bf910
(gdb) next
1390 cout<<"Vertices : "<<(*iter)->getPtIni()<<" and "<<(*iter)->getPtFin()<<" belong to WorkingSegment : "<<*iter<<endl;
1: *iter = Disabling display 1 to avoid infinite recursion.
(Line *&) @0x8: Cannot access memory at address 0x8
Voici le code en question :
Pourquoi donc il n'arrive pas a acceder a la memoire ??? Je suppose que cela vient de l'iterator.. mais ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Merci encore !

 

 
		
		 
         
 

 
			
			


 
   


 [STL] Probleme STL : List : Iterator
 [STL] Probleme STL : List : Iterator
				
 Répondre avec citation
  Répondre avec citation

 
 
 
			

 
  
  
			 
   
 
 
				
 A méditer: La solution la plus simple est toujours la moins compliquée
A méditer: La solution la plus simple est toujours la moins compliquée 
			 Envoyé par koala01
 Envoyé par koala01
					
				
 
 
Partager