Hello,
Je débute avec les conteneurs et mon compilateur me met une floppée d'erreurs dans cette fonction:
La liste est déclarée comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 // Dessine la liste des briques void DrawBricks(SDL_Surface* MainScreen) { list<CBrick*>::iterator i; for(i = m_brickList.begin(); i != m_brickList.end(); i++) { SDL_FillRect(MainScreen, i->m_Position, i->m_Color); } }
Et pourtant j'ai aussi un code avec itérateur pour détruire les objets et là il n'y a pas d'erreurs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part list <CBrick*> m_brickList;
Ce n'est pas comme ça qu'on utilise l'itérateur? Je n'ai pas trouvé d'exemple similaire dans la FAQ ou ailleurs...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 CLevel::~CLevel() { // Destruction de la liste list<CBrick*>::iterator i; for(i = m_brickList.begin(); i != m_brickList.end(); i++) { delete *i; cout << "Brique effacée de la mémoire" << endl; } m_brickList.erase(m_brickList.begin(), m_brickList.end() ); }
Partager