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...
tgrx
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
tgrx
J'ai une fonction toute simple censee renvoyer un pointeur sur un noeud particulier d'un arbre.
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.