我的代码产生了这个错误:
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;
}
答案 0 :(得分:2)
while
条件可能应为:
while (abs(nextValue - currValue) > 0.00000000001 && iter < 100000)
请注意
and
被&&
取代 - 这不是绝对必要的,因为and
在C ++中有效,据我所知,但我从未见过and
被使用目前在生产代码中。