Этот метод:
bool Point::Intersects(const Line& line) const {
return (line.ContainsPoint(*this, false));
}
вызывает эту ошибку: не может преобразовать указатель 'this' из 'const Line' в 'Line &' Это изменение:
bool Point::Intersects(const Line& line) const {
return const_cast<Line&>(line).ContainsPoint(*this, false);
}
исправляет ошибку, но не кажется правильным способом устранить проблему. Почему исходный метод считается ошибкой?
Если это помогает, ContainsPoint(const Point& point, bool isInfinite)
не является константой, и все методы, которые он вызывает, также не являются константами.