Posez votre question Signaler

Erreur compilation C++

Ratiche - Dernière réponse le 5 mai 2003 à 13:43
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.
Lire la suite 

Erreur compilation C++ »

4 réponses
Réponse
+1
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
re-

ta solution n'est pas bonne puisque je créé une instance dans ma fonction operator*. obligé de la retourner donc....

Ratiche.
pouet - 5 mai 2003 à 13:43
pas compris. je dis au lieu de ca:
Classe& operator=(Classe& objet);
Classe operator*(Classe& objet);
mets ca:
Classe& operator=(Classe& objet);
Classe& operator*(Classe& objet);
a part ca , la ligne 27 ne ferait pas de mal, etc.
c est un probleme de type, clairement.

--
pouet
Ajouter un commentaire
Ce document intitulé « Erreur compilation C++ » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook