Hello,

Je débute avec les conteneurs et mon compilateur me met une floppée d'erreurs dans cette fonction:

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);
	}
}
La liste est déclarée comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
list <CBrick*> m_brickList;
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
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() );
}
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...