Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1227 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  surcharges et références

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

surcharges et références

n°2280190
une IA
01010111 01010100 01000110
Posté le 26-04-2016 à 13:54:08  profilanswer
 

Bonjour j'ai une surcharge de cette forme
 
A.hpp
 

Code :
  1. class A
  2. {
  3.   ...
  4.   A operator+(const A & );
  5.   void A::Fx(const A& );
  6.    ...
  7. }


 
A.cpp
 

Code :
  1. A A::operator+(const A &p)
  2. {
  3.    return A(data + p.data);
  4. }


 
dans mon code je fait un truc de la sorte
 

Code :
  1. ....
  2. A a1;
  3. A a2;
  4. A b;
  5. ....
  6. 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 :
  1. ....
  2. A a1;
  3. A a2;
  4. A aTemp;
  5. A b;
  6. ....
  7. aTemp = a1 + a2;
  8. 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
mood
Publicité
Posté le 26-04-2016 à 13:54:08  profilanswer
 

n°2280194
tpierron
Posté le 26-04-2016 à 15:41:53  profilanswer
 

Chais pas quel compilo tu utilises, mais ça_marche_chez_moi™ (windows, mingw, gcc 4.5)

n°2280202
une IA
01010111 01010100 01000110
Posté le 26-04-2016 à 16:41:25  profilanswer
 

gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)

n°2280236
theshockwa​ve
I work at a firm named Koslow
Posté le 27-04-2016 à 14:37:35  profilanswer
 

ton erreur semblerait normale si tu avais le prototype suivant :

Code :
  1. void A::Fx(A& );


 
Mais vu que tu as un const, ca devrait effectivement compiler.
Tu peux faire un petit exemple qui reproduit ton erreur et qui soit compilable par nous ? (sans code manquant)
 
Au passage : Tu n'as vraiment pas la possibilité d'utiliser un compilateur moins vieux


---------------
last.fm

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  surcharges et références

 

Sujets relatifs
[Macro Catia ] Rename all instances and references[C++] manipulation de tableau a l'aide des references ?
Comportement des références différent entre 5.8 et 5.14références
[C++] Templates et surcharges..Problème d'imbrication de références et de tableaux de références
Dans ACCESS, pb références EXCELUtilité des références et des const
[eclipse/php] des références croisées[VBA Excel] Références manquantes [Résolu]
Plus de sujets relatifs à : surcharges et références


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR