Bonjour,
voici l'erreur exacte :
error: no match for 'operator=' in 'l2 = ListeObjet::operator+(ListeObjet&)(((ListeObjet&)(& l2)))
dans mon main j'ai trois ListeObjet l1 et l2
et je fais la surcharge de l'opérateur= fonctionne très bien.
pour la surcharge de l'opérateur+ c'est une autre histoire
1 2 3 4 5 6 7 8
| ListeObjet ListeObjet::operator+(ListeObjet &l)
{
ListeObjet l3;
l3=*this;
l3+=l;
std::cout<<l3;
return l3;
} |
le soucis semble être le type de retour.
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