指定 cmat 的 pow 函数,而不是本地声明的函数

Specify cmath's pow function and not locally declared one

本文关键字:函数 声明 cmat pow 指定      更新时间:2023-10-16

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

    Polynomial pow(unsigned int n) const;

和构造函数:

    Polynomial(const double t = 0.0);

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

谢谢你的帮助!

好吧,假设您将所有自己的东西都放在std名称空间之外(如果不是,您应该,因为这是名称空间être的整个原因),您可以使用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