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

「ローカルで定義された」とは、クラスのメンバーを意味すると仮定します。通常、関数のオーバーロードにより、2 つの関数の違いがわかるためです。クラス メンバーは、グローバル スコープで同様の名前の関数を非表示にします。

::powローカルで定義された関数の名前を変更できない場合にのみ使用してください。

于 2011-10-25T02:52:49.747 に答える