Surcharge opérateurs

Fermé
Utilisateur anonyme - 8 janv. 2010 à 16:27
loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 - 9 janv. 2010 à 13:55
Bonjour,
Voila, j'ai un soucis avec mon opérateur. je m'explique.

J'ai fais une classe pour surcharge d'opérateur en char*. j'ai fais le + et le = .

par contre, quand je fait le + suivis du égale, j'ai un probleme
enfin quand je fais ca :

a = b+c;


quelqu'un sait-il pourquoi ca fais ca?

merci d'avance

2 réponses

sakura596 Messages postés 789 Date d'inscription dimanche 3 janvier 2010 Statut Membre Dernière intervention 22 mars 2011 256
8 janv. 2010 à 16:28
salut, j'ai absolument rien compris re-explique tout
0
Utilisateur anonyme
8 janv. 2010 à 16:56
eh bien, j'ai fait mon code de surcharge pour l'opérateur + (qui renvoi la concatenationdeux chaines) et = (qui copie 2 chaine)

Donc je fais

a = b+c;

imaginons b = "ici"
c = "la"

a devrait donc etre "icila"

mais ca ne marche pas, j'ai ce message :

p\char_operator\main.cpp:7: error: no match for 'operator=' in 'ch3 = (&ch1)->Naga::operator+(((Naga&)(&ch2)))'


merci de ton aide
0
loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 148
9 janv. 2010 à 13:55
Su tu donnes simplement la ligne en erreur (n° 7) et la fonction opérateur complète (avec l'indentation, cela va de soit), tu trouveras sans doute rapidement une réponse.
Bonne continuation.
0