当调用ans+= c[i] * pow(x,i);
时,xCode正在抱怨“函数调用过多的争论,预期1有2个争议”。我有一个本地定义函数如下:指定cmath的pow函数而不是本地声明的函数
Polynomial pow(unsigned int n) const;
和构造:
Polynomial(const double t = 0.0);
我怎么可以指定我想用CMATH的战俘功能,而不是本地定义的呢?
感谢您的帮助!
当调用ans+= c[i] * pow(x,i);
时,xCode正在抱怨“函数调用过多的争论,预期1有2个争议”。我有一个本地定义函数如下:指定cmath的pow函数而不是本地声明的函数
Polynomial pow(unsigned int n) const;
和构造:
Polynomial(const double t = 0.0);
我怎么可以指定我想用CMATH的战俘功能,而不是本地定义的呢?
感谢您的帮助!
好吧,假设你保持你的所有自己的东西了std
命名空间(如果你没有,你应该是,因为这是整个存在的理由命名空间)你可以使用std::pow()
。
请看下面的代码为例:
#include <iostream>
#include <cmath>
int pow(int x, int y) { return -1; }
int main() {
std::cout << std::pow(3,2) << std::endl;
return 0;
}
我要去假设由“本地定义的”你的意思是一类的成员,因为一般函数重载就能够看出其中的差别两项职能之间;一个类成员会在全局范围内隐藏一个类似命名的函数。
只要使用::pow
如果您不能更改本地定义的函数的名称。
失败。 XCode说std没有一个叫pow的成员。 – joshim5
然后XCode坏了,或者包含'math.h'而不是'cmath'。 – paxdiablo