我正在开发一个程序来检测一个三角形是否嵌套在另一个三角形中。
在这里,我创建了结构点来将 x 和 y 定义为双精度。
struct Point {
double x;
double y;
};
这是我实现结构的地方:
double eval (LineSegment line, Point p)
{
Point p1 = p - line.StartPoint;
Point p2 = line.EndPoint - line.StartPoint;
return p2.x * p2.y - p1.y * p2.x;
}
当我编译它告诉我,“'p - line.LineSegment::StartPoint'中的'operator-'不匹配。” 我真的不明白发生了什么,我想它不明白我想要哪个“点”,因为我一起使用它们?
我做了研究,发现运算符重载,但这让我有点困惑。我真的不知道如何实现运算符重载。
如果有人能告诉我如何去做这件事,那将会很有帮助。