Cette méthode :
bool Point::Intersects(const Line& line) const {
return (line.ContainsPoint(*this, false));
}
provoque l'erreur suivante : impossible de convertir le pointeur 'this' de 'const Line' en 'Line &'. Cette modification :
bool Point::Intersects(const Line& line) const {
return const_cast<Line&>(line).ContainsPoint(*this, false);
}
répare l'erreur, mais ne semble pas être la bonne façon de résoudre le problème. Pourquoi la méthode originale est-elle considérée comme une erreur ?
Si ça peut aider, ContainsPoint(const Point& point, bool isInfinite)
est non-const et toutes les méthodes qu'il appelle sont également non-const.