main.cpp: In member function 'double Triangle::getArea()': main.cpp:92:72: error: call of overloaded 'abs(double)' is ambiguous area = 0.5 * abs((x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2))); ^
时间: 2024-02-20 16:00:13 浏览: 94
求三角形面积.cpp
这个错误是因为 `abs()` 函数有多个重载版本,编译器不知道该调用哪一个版本。为了解决这个问题,你需要显式地指定要使用的 `abs()` 函数,例如 `std::abs()`:
```
double Triangle::getArea()
{
double area = 0.5 * std::abs((x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)));
return area;
}
```
这样就可以解决这个编译错误了。
阅读全文