为什么我的int是一个指针?

时间:2013-03-03 15:44:10

标签: c++ pointers int typeerror

我的代码产生了这个错误:

  

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;
    }

1 个答案:

答案 0 :(得分:2)

while条件可能应为:

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

请注意

  1. 最后没有分号。
  2. 整个条件必须在括号中。
  3. and&&取代 - 这不是绝对必要的,因为and在C ++中有效,据我所知,但我从未见过and被使用目前在生产代码中。