Bonjour,
J'obtiens les messages d'erreurs suivants à la compilation.
Erreur 1 error C2446: '=='*: pas de conversion de 'const char []' en 'int'
Erreur 2 error C2040: '=='*: les niveaux d'indirection de 'int' et de 'const char []' sont différents
Le code complet est en annexe.
Est-ce que quelqu'un peut m'aider ?
Merci d'avance.
Suite au template
à l'opérateur
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 template<class T, class U, class V> int somme(T robot, U iter ,V RB) { U it; int som = 0; // V RB; for (it = robot.begin(); it!=robot.end(); it++){ if (it->getCouleur()==RB) { som=som+it->getVal(); } else{ som=som-it->getVal(); } } return som; }
faisant usage de la classe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 bool boule::operator==(boule Robot1){ if (couleur==Robot1.getCouleur()) { return true; } else { return 0; } }
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 class boule { private: int numero; char couleur; public: void saisie(); void affiche(); bool operator==(boule); int getVal(){ return numero; }; char getCouleur(){ return couleur; } };
et à son appel
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 somme<list<boule>,list<boule>::iterator,const char[2]>(L,itl,"R"); somme<vector<boule>,vector<boule>::iterator,const char[2]>(V,itv,"B");
Partager