-5

私のコードはこのエラーを生成します:

ISO C++ では、ポインターと整数の比較が禁止されています [-fpermissive]

エラーの原因に影響を与えないコードの本文をコメントアウトしました。コードは、ニュートン法を計算するために私が書いたプログラムの一部です。私はポインタについてあまり知りません。私は今それらを避けようとしています。私がやりたいことは、while ループが何度も実行された場合に停止することだけです。

    int iter = 0;
    while (abs(nextValue - currValue) > 0.00000000001) and iter < 100000;
    {
//        currValue = nextValue;
//
//        double polyValue = 0;
//        int n3;
//        for (n3 = degree; n3 >= 0; n3--)
//        {
//            polyValue += coef[n3] * pow(currValue, n3);
//        }
//        double polynomial = polyValue;
//
//        polyValue = 0;
//        int n4;
//        for (n4 = degree; n4 >= 1; n4--)
//        {
//            polyValue += coef[n4] * n4 * pow(currValue, n4 - 1);
//        }
//        double polyPrime = polyValue;
//
//        nextValue = currValue - (polynomial / polyPrime);
        iter += 1;
    }
4

1 に答える 1

2

while条件はおそらく次のようになります。

while (abs(nextValue - currValue) > 0.00000000001 && iter < 100000)

ご了承ください

  1. 末尾にセミコロンはありません。
  2. 条件全体を括弧で囲む必要があります。
  3. andは次のように置き換えられます -私の知る限りでは C++ で有効で&&あるため、これは厳密には必要ありませんが、これまで実稼働コードで使用されているのを見たことがありません。andand
于 2013-03-03T15:46:41.053 に答える