grrr... pb avec 'const' [C++] - Programmation
Marsh Posté le 18-05-2001 à 14:09:55
Voici le message d'erreur
bsp3d.cpp: In method `class Bsp3dNode * Bsp3dNode::RayIntersectionDistance(const Ray &, float * = 0, Vector3d * = 0) const':
bsp3d.cpp:183: return to `Bsp3dNode *' from `const Bsp3dNode *' discards qualifiers
make: *** [bsp3d.o] Error 1
Marsh Posté le 18-05-2001 à 14:13:01
Normal...
change le proto pour
const Node * ChooseNode(void) const;
car sinon il est possible de modifier this a travers ta fct et donc elle n'est plus const...
Marsh Posté le 18-05-2001 à 14:08:11
J'ai une fonction toute simple censee renvoyer un pointeur sur un noeud particulier d'un arbre.

class Node
{
...
Node* front;
Node* back;
public:
Node* ChooseNode() const;
};
ma fonction ChooseNode ressemble a ca :
Node* Node::ChooseNode() const
{
if (...)
return front;
if (...)
return back->ChooseNode();
return this;
}
Et GCC m'envoie chier sur le return this, car apparemment ca fout le bordel avec la fonction qui est const.
Je ne comprends pas, car 4 lignes au dessus, je fais un 'return front;', et front est pourtant du meme type que this (a savoir Node*), et pourtant GCC accepte la ligne du dessus poliment.
HELP !