Bonjour,

Je suis confrontée à un problème que je n'arrive pas à résoudre et surtout je ne comprend pas pourquoi le code pose problème.
Je dispose de :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
list<pair<int, string>> TypeList;
list<pair<int, int>> ClassList;
Et de :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
list<pair<int,string>>::iterator iter = TypeList.begin();
list<pair<int,int>>::iterator iter1 = ClassList.begin();
Je parcours deux listes dans deux boucles FOR imbriquées et je souhaite vérifier que si le premier element de chaque paire est le même alors ...
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
for(;iter != TypeList.end(); iter++) 
{ 
	cout << "Premier passage : " << (*iter).first << endl;
	getchar();
	for(;iter1 != ClassList.end(); iter1++)
	{
		cout << "deuxième passage : " << (*iter1).first << endl;
		getchar();
		if ((*iter1).first == (*iter).first)
		{
			cout << "troisième passage : " << (*iter).first << " et " << (*iter1).first << endl;
			getchar();
		}
	}
}
J'ai mis des affichage bidon pour comprendre mais la seconde boucle FOR est parcouru qu'une seule fois lors de son premier passage.
Pourquoi on ne rentre pas dans la boucle FOR à chaque passage dans la grande boucle ?
Si vous avez une idée (je suis sûre que c'est gros comme une maison et que je ne vois rien)

Merci d'avance pour vos réponses