Bonjour! Petite question dont je soupçonne la réponse d'être évidente, cependant je début en C++ alors soyez cléments
J'ai le code suivant :
J'ai une erreur de syntaxe, l'opérateur = dans le for, it = vecCours_.begin() n'est pas définit....je ne comprend pas...pouvez-vous m'aider ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 //Dans un fichier .h typedef std::pair<std::string,float> Cours; typedef std::vector<std::shared_ptr<Cours> > VecCours; //Dans une définition de classe du même .h VecCours vecCours_; VecCours::iterator it; //Dans l'implémentation d'une méthode dans un .cpp for(it = vecCours_.begin() ; it != vecCours_.end() ; it++) moyenne += (*it)->second;
Le code suivant ne donne aucune erreur...pourquoi? Quel est la différence avec celui que j'ai posté?
Merci d'avance!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 typedef vector<shared_ptr<pair<string,int> > > MyVect; void test() { MyVect v; MyVect::iterator it; for(it = v.begin() ; it != v.end() ; it++); }
EDIT: Arf...un truc avec une méthode constante et l'utilisation d'un itérateur non constant....désolé![]()
Partager