二进制表达式的操作数无效("double(*)(double"和"double")

Invalid operands to binary expression ('double(*)(double' and 'double')

本文关键字:double 表达式 无效 二进制 操作数      更新时间:2023-10-16

我正在尝试用牛顿法求方程的根。这个bug出来了,我无法处理。

double fn(double n){
    return sin(n)+log(n)-1;
}
double f1n(double n){
    return cos(n)+1/n;
}
double operation(double n){
    n=n-fn/f1n;
    while(fn>0.000001){
        n=n-fn/f1n;
    }
    return n;
}

您忘记将n传递给您的函数。

double operation(double n)
{
    n = n - fn(n) / f1n(n);
    while(fn(n) > 0.000001)
    {
        n = n - fn(n) / f1n(n);
    }
    return n;
}