Erreur compilation C++
Ratiche
-
pouet -
pouet -
Salut à tous,
J'ai surchargé les opérateurs suivants :
Classe& operator=(Classe& objet);
Classe operator*(Classe& objet);
Lorsque je fais :
Objet1 = Objet2 * Objet3;
...ça me sort une erreur à la compilation du type "No match pour l'opérateur... erreur interne bla bla". Sachant que les surcharges "=" et "*" marchent très bien séparément !!
D'où ça peut venir ? De l'absence de const peut être ?
Merci pour vos éclaircissements,
Ratiche.
J'ai surchargé les opérateurs suivants :
Classe& operator=(Classe& objet);
Classe operator*(Classe& objet);
Lorsque je fais :
Objet1 = Objet2 * Objet3;
...ça me sort une erreur à la compilation du type "No match pour l'opérateur... erreur interne bla bla". Sachant que les surcharges "=" et "*" marchent très bien séparément !!
D'où ça peut venir ? De l'absence de const peut être ?
Merci pour vos éclaircissements,
Ratiche.
3 réponses
-
peut etre cela vient il du fait que ton * retourne une Classe et pas une reference sur une classe.
je ne m engage pas, sans les messages d erreurs c est duifficile de se prononcer.(boule de cristaaalllle!)
--
pouet -
salut,
merci pour ta réponse.
voici le message d'erreur puisque tu le demandes : ))
prog.cc: In function `int main (int, char **)':
prog.cc:27: no match for `Classe & = Image'
image.cc:288: candidates are: Classe &Classe::operator= (Classe &)
make: *** [prog.x] Erreur 1
Ratiche. -
re-
ta solution n'est pas bonne puisque je créé une instance dans ma fonction operator*. obligé de la retourner donc....
Ratiche.