下面是我遇到问题的代码。 avg += abs(num)
行有错误,但我无法解决。错误代码:
error: call of overloaded 'abs(double&)' is ambigous
我意识到它非常基础,但在我使用的“C++:初学者指南(第二版)” 书中,Herbert Schildt 中的代码是相同的此处使用的示例之一:
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
double num, avg;
int x = 5;
int i;
avg = 0.0;
for (i = 1; i <= x; ++i){
cout << "Enter value " << i << ": ";
cin >> num;
avg += abs(num);
}
avg /= x;
cout<< endl;
cout << "The average is " << avg;
return 0;
}
最佳答案
您没有为 std::abs
的浮点重载包含正确的 header :
#include <cmath>
关于c++ - 在 'abs(double&)' 中重载 "avg += abs(num)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17922845/