SoWhatIn22 | grillaid
je dirais donc même plus, c à la destruction que ça plante.
si tu ne veux pas d'erreur, n'utilise pas de pointeurs, ou défini un constructeur par recopie.
ceci devrait fonctionner.
Code :
- #include <iostream>
- #include <list>
- using namespace std ;
- struct XY {
- unsigned x,y ;
- } ;
- struct pix {
- XY coord ;
- } ;
- struct conteneur {
- list<pix> pixels ;
- // conteneur() { pixels = new list<pix> ; }
- // ~conteneur() { delete pixels ; }
- } ;
- int main(int argc, char* argv[])
- {
- conteneur foo ;
-
- pix fake1 = {0,1} ;
- pix fake2 = {2,3} ;
- pix fake3 = {4,5} ;
-
- foo.pixels.push_back( fake1 ) ;
- foo.pixels.push_back( fake2 ) ;
- foo.pixels.push_back( fake3 ) ;
-
- list<conteneur> bar(10, foo) ;
- list<conteneur>::iterator i = bar.begin() ;
-
- while ( i != bar.end() ) {
- list<pix>::iterator j = (*i).pixels.begin() ;
-
- while ( j != (*i).pixels.end() ) ++j ;
-
- ++i ;
- }
- cout << "done";
- cin.ignore();
- cout << endl;
- return 0;
- }
|
|