Bonjour,
voici l'erreur exacte :
dans mon main j'ai trois ListeObjet l1 et l2
Code : Sélectionner tout - Visualiser dans une fenêtre à part error: no match for 'operator=' in 'l2 = ListeObjet::operator+(ListeObjet&)(((ListeObjet&)(& l2)))
et je faisla surcharge de l'opérateur= fonctionne très bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part l2=l1+l2
pour la surcharge de l'opérateur+ c'est une autre histoire
le soucis semble être le type de retour.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 ListeObjet ListeObjet::operator+(ListeObjet &l) { ListeObjet l3; l3=*this; l3+=l; std::cout<<l3; return l3; }
Quand je retourne une référence l'erreur disparait mais la liste retourné est vide alors qu'elle est bien construite, ce que je vérifie en l'affichant avant de la retourner.
Si je retourne un pointeur ça marche parfaitement bien
En revanche si je retourne un ListeObjet j'ai cette erreur. et je n'arrive pas a comprendre ce qui ne va pas
Partager