Bonjour j'ai une surcharge de cette forme
A.hpp
Code :
- class A
- {
- ...
- A operator+(const A & );
- void A::Fx(const A& );
- ...
- }
|
A.cpp
Code :
- A A::operator+(const A &p)
- {
- return A(data + p.data);
- }
|
dans mon code je fait un truc de la sorte
Code :
- ....
- A a1;
- A a2;
- A b;
- ....
- b.Fx(a1 + a2);
|
j'obtiens cette erreur
error: no matching function for call to A::Fx(A) |
je ne comprends pas pourquoi il ne recherche pas ma A::Fx(&A)
par contre si je passe par une variable intermédiaire ça marche bien
Code :
- ....
- A a1;
- A a2;
- A aTemp;
- A b;
- ....
- aTemp = a1 + a2;
- b.Fx(aTemp);
|
Je suppose une conversion au = ou la création d'une variable a portée plus large.
mais j'aimerais que l'on m'explique
Message édité par une IA le 26-04-2016 à 13:56:33