Bonjour,
Dans la fonction ci-dessous, j'obtiens l'erreur suivante à la compilation :
"error C2664: 'std::_Vector_iterator<_Myvec> std::vector<_Ty>::insert(std::_Vector_const_iterator<_Myvec>,_Ty &&)' : impossible de convertir le paramètre 2 de 'Employe' en 'Cadre &&'"
Je suis allé voir dans le FAQ et les tutos si je n'y trouvais pas rapidement une réponse mais sans succès.
voici les classes Employe et Cadre qui héritent toutes deux de la classe mère Salarie et les paramètres Age sont présents dans les 2.
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
16 void Promotion(list<Employe> &tabEmployeL, vector<Cadre> &tabCadreV){ vector<Cadre>::iterator iterV; list<Employe>::iterator itMax1E; list<Employe>::iterator itMax2E; itMax1E=max_element(tabEmployeL.begin(),tabEmployeL.end(),cmpAgeEmployes); cout<<"LES 2 employés les plus Agés à promouvoir sont :"<<endl; itMax1E->affiche(); tabCadreV.insert(tabCadreV.begin(),itMax1E); tabEmployeL.erase(itMax1E); itMax2E=max_element(tabEmployeL.begin(),tabEmployeL.end(),cmpAgeEmployes); itMax2E->affiche(); tabCadreV.insert(tabCadreV.begin(),itMax2E); tabEmployeL.erase(itMax2E); }
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 class Salarie { public: void saisie(); void affiche(); protected: string Nom; int Salaire; }; class Employe : public Salarie { public: void saisie(); void affiche(); bool operator < (Employe b); int getAge(); private: int Age; friend class Actionnaire; }; class Cadre : public Salarie { public: void saisie(); void affiche(); private: int Age; friend class Actionnaire; };
Partager