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

  FORUM HardWare.fr
  Programmation
  C++

  Problème de const

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème de const

n°1863916
alexandre_​j
Posté le 20-03-2009 à 10:37:37  profilanswer
 

Bonjour !
J'essai de résoudre le problème du voyageur de commerce avec un algorithme génétique... pour essayer...
 
Mon problème est pour l'instant lié au c++.
Mes villes sont des Genes. L'objet Gene possède une fonction qui permet de calculer la distance avec un autre Gene :
 

Code :
  1. float Gene::distanceWith( const Gene &gene )
  2. {
  3.     //calcul de la distance entre this et gene
  4.     //racine carré de ( distance entre x1 et x2 au carré + distance entre y1 et y2 au carré )
  5.     return  sqrt( ( _x - gene.x() ) * ( _x - gene.x() ) + ( _y - gene.y() ) * ( _y - gene.y() ) );
  6. }


 
J'ai également un Individu (trajet) qui a donc une liste de Gene (ville). L'objet Individu possède une fonction permettant de calculer la distance totale entre ses Genes (dans l'ordre de la liste de Genes) :
 

Code :
  1. //calcul la distance total du trajet dans l'ordre des points
  2. float Individu::distance()
  3. {
  4.     float distance = 0.0;
  5.     for( int i = 0; _genes.size() - 1; i++ ) {
  6.         if ( i == _genes.size() - 1 ) //dernier point, on test avec le 1er point
  7.             distance += _genes.at( i ).distanceWith( _genes.at( 0 ) );
  8.         else
  9.             distance += _genes.at( i ).distanceWith( _genes.at( i + 1 ) );
  10.     }
  11.     return distance;
  12. }


 
Je ne sais pas encore si la fonction fonctionne correctement car pour l'instant je n'arrive pas à la compiler.
 
J'ai un problème sur l'appel de distanceWith( const Gene &gene) :
 

Citation :

PVC/Individu.cpp:20: error: passing `const Gene' as `this' argument of `float Gene::distanceWith(const Gene& )' discards qualifiers


 
J'imagine que c'est un problème de const ou pas const dans les paramètres mais je sais pas trop pourquoi. Si vous avez une idée. Si quelque chose vous choque aussi, je suis interessé par vos remarques.
 
Merci !

mood
Publicité
Posté le 20-03-2009 à 10:37:37  profilanswer
 

n°1863921
Un Program​meur
Posté le 20-03-2009 à 10:44:13  profilanswer
 

Tu essaies d'appeler la fonction membre Gene::distanceWith() qui n'est pas const sur un objet qui l'est.  Solution: rendre la fonction membre Gene::distanceWith() const parce qu'elle n'a pas besoin de ne pas l'etre.

n°1863938
alexandre_​j
Posté le 20-03-2009 à 11:01:49  profilanswer
 

Effectivement le problème vient de là, merci.


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

  Problème de const

 

Sujets relatifs
ftp probleme upload consécutifs[WS Axis] Problème de sérialisation
[Visual C#] Problème projet après changement de PCProblème mystérieux en vbscript
probléme utf-8 isoProbleme PERL + CGI
probleme avec un popup javasriptProbleme/questions Graphe de Scene avec Java3D
Problème de conversion string en const char *[DEBUTANT]Problème avec const char
Plus de sujets relatifs à : Problème de const


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