Bonjour à tous,
Dans un de mes programmes, je travaille avec le conteneur vector. Je débute avec les conteneurs, donc j'y vais pas à pas, à la lumière des trucs que je peux lire un peu partout.
Là j'ai un petit pépin. Je souhaite utiliser l'outil itérateur proposé par la classe vector, en lieu et place d'un itérateur manuel.
A la base ma fonction ressemblait a ca: (sachant que mon vecteur s'appele "MyPeople" et qu'il est composé d'éléments "people")
déromais, mon code est le suivant:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 int NumberOfPeople = MyPeople.size(); int detect; if (MyPeople.empty()) { Fonction1(); } else { for (int i=0;i<NumberOfPeople;++i) { detect = Fonction2(MyPeople.at(i)); if (detect==0) { Fonction3(MyPeople.at(i)); } } Fonction4(); }
Mais ce "nouveau" code me donne de temps en temps un message d'erreur:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 int NumberOfPeople = MyPeople.size(); vector<people>::iterator MyIte; int detect; if (MyPeople.empty()) { Fonction1(); } else { for (MyIte=MyPeople.begin();MyIte!=MyPeople.end();++MyIte) { detect = Fonction2(*MyIte); if (detect==0) { Fonction3(*MyIte); } } Fonction4(); }
http://static.flickr.com/73/19174964...fc38dc.jpg?v=0
Le debogueur me pointe alors sur ce fichier dbghook.c:
http://static.flickr.com/47/19174964...874dd8.jpg?v=0
Merci d'avance pour votre aide (et conseils :))