Bonjour
Je suis en train d'apprendre le langage C++ (j'avais jusqu'ici surtout fait du java) et j'ai un petit souci de compréhension avec les paramètres "const" d'une méthode
Dans une classe "Point3D" j'ai trois membre private x,y,z de type double. J'ai aussi la méthode "void translate (const Vector3D & v)
Code :
- void
- Point3D::translate (const Vector3D& v)
- {
- x += v.getX();
- y += v.getY();
- z += v.getZ();
- }
|
Le compilateur m'indique une erreur :
2 error: passing `const Vector3D' as `this' argument of `double Vector3D::getX()' discards qualifiers Point3D.cpp ccollisionstest line 125
Par contre si je supprime le "const", l'erreur disparaît. J'avais crû comprendre que le mot clé "const" signifiait que le paramètre n'était pas modifié, ce qui est mon cas. Pouvez-vous s.v.p. éclairer ma lanterne ?
D'avance merci
P.S. Je ne sais pas si cela à de l'importance, mais mon compilateur est gcc 3.3.5 sous linux.