Bonjour,

j'aimerais utiliser un itérateur sur un vecteur (technique que je ne connais pas très bien) et j'ai un petit soucis à la compilation. Pourriez-vous m'aider ? Merci d'avance !

Mon .h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
class listLocalization {
 
private:
    std::vector<localization> list;
 
public:
    localization * getLocalization(std::string name);
...
}
Dans mon fichier .cpp :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
localization * listLocalization::getLocalization(std::string name) {
 
    for(std::vector<localization>::iterator iter = list.begin(); iter!=list.end(); ++iter) {
	// Si le nom de l'élément est égal à celui recherché, retourner l'objet localization
        if(!iter->getName().compare(name))
            return iter;
    }
    return NULL;
 
}
Le compilateur m'affiche une erreur que je n'arrive pas à comprendre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
In member function 'localization* listLocalization::getLocalization(std::string)':
error: cannot convert 'std::vector<localization>::iterator {aka __gnu_cxx::__normal_iterator<localization*, std::vector<localization> >}' to 'localization*' in return
             return iter;