0

调用时ans+= c[i] * pow(x,i);,xCode 抱怨“函数调用的争论太多,预期 1 有 2”。我有一个本地定义的函数,如下所示:

    Polynomial pow(unsigned int n) const;

和一个构造函数:

    Polynomial(const double t = 0.0);

如何指定我想使用 cmath 的 pow 函数而不是本地定义的函数?

谢谢您的帮助!

4

2 回答 2

5

好吧,假设您将所有自己的东西都保留在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;
}
于 2011-10-25T02:45:10.707 回答
0

我将假设“本地定义”是指类的成员,因为通常函数重载能够区分两个函数之间的区别;一个类成员将在全局范围内隐藏一个类似命名的函数。

::pow如果您无法更改本地定义函数的名称,请使用。

于 2011-10-25T02:52:49.747 回答