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

  FORUM HardWare.fr
  Programmation
  C++

  Const, référence, et autre

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Const, référence, et autre

n°1588961
Vel-Ryphon
Posté le 19-07-2007 à 17:07:23  profilanswer
 

Salut,
 
j'arrête pas de galérer avec la conformité des arguements que je passe à un opérateur, via une fonction...
 
Voilà mon cas :
 

Code :
  1. Color
  2. Color::operator-(const Color& color)
  3. {
  4.  Color result;
  5.    result.red  =red-color.red;
  6.    result.green =green-color.green;
  7.    result.blue  =blue-color.blue;
  8.    result.alpha =alpha-color.alpha;
  9.  return result;
  10. }
  11. Color
  12. linear_interpolation(const Color& start_value, const Color& end_value, const float& interpolation_coefficient)
  13. {
  14.  Color result =start_value + (end_value - start_value) * interpolation_coefficient;
  15.  return result;
  16. }


 
Et bien sûr, j'ai droit à
 

Code :
  1. E2093 : 'operator-' not implemented in type 'Color' for arguments of the same type in function linear_interpolation.


 
J'espère que vous pourrez m'aider  :jap:

mood
Publicité
Posté le 19-07-2007 à 17:07:23  profilanswer
 

n°1588965
Ace17
Posté le 19-07-2007 à 17:18:59  profilanswer
 

C'est que ton operateur doit etre const lui aussi, pas seulement ses parametres :
 

Code :
  1. Color::operator-(......) const

n°1588983
Vel-Ryphon
Posté le 19-07-2007 à 18:05:11  profilanswer
 

ah yes !! merci

n°1589135
Taz
bisounours-codeur
Posté le 20-07-2007 à 09:27:43  profilanswer
 

beurl toussa. Défini pluto :

Code :
  1. Color& Color::operator-=(const Color& );
  2. // et
  3. Color operator-(const Color &a, const Color &b)
  4. {
  5.   Color diff(a);
  6.   diff -= b;
  7.   return diff;
  8. }


 
et là t'es carré et complet.

n°1589680
papangue
Posté le 21-07-2007 à 11:29:35  profilanswer
 

Taz a écrit :

beurl toussa. Défini pluto :

Code :
  1. Color& Color::operator-=(const Color& );
  2. // et
  3. Color operator-(const Color &a, const Color &b)
  4. {
  5.   Color diff(a);
  6.   diff -= b;
  7.   return diff;
  8. }


 
et là t'es carré et complet.


 
bien d'accord avec toi... l'operateur - n'a pas lieu d'etre un operateur de class car en aucun cas il n'agit sur l'obejt qu'il manipule (contrairement à -=).


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

  Const, référence, et autre

 

Sujets relatifs
[C --> C++] passage par référencepasser une référence à un autre script.
[Javascript] Référence à un objet ?Erreur de Link : Undefined reference to...
C++ conversion type constPassage par référence
formule excel: faire varier la référence d'une cellule[Javascript] perte de référence sur l'opener
const et pointeur de pointeurconst, reference etc , g du mal.
Plus de sujets relatifs à : Const, référence, et autre


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)