error C2664: 'newton' :cannot convert parameter 1 from 'double (double)' to 'double (__cdecl *)(double)'
None of the functions with this name in scope match the target type
这是什么意思阿
typedef double (*FUN)(double);
newton(f, f_, i, 0.0001, &dResult )这句话调用下面那句出错了
newton(FUN fun, FUN fun_, double x0, double eps, double *pResult);
f,f_是2个函数
不知道怎么改,谢谢

解决方案 »

  1.   

    newton(f, f_, i, 0.0001, &dResult )这是调用的语句double CDemoDlg::f(double k)
    {
    int x = 2, y = 3;
    double dResult=pow(1-k/x,-x)-(1+y)*k-1;
    return dResult;}double CDemoDlg::f_(double k)
    {
    int x = 2, y = 3;
    double dResult=pow(1-k/x,-x-1)-(1+y);
    return dResult;}
    f和f_函数
      

  2.   

    double f(double)
    {
    //...
    }
    是这样定义吗?
      

  3.   

    或者把typedef double (*FUN)(double);放到类里面
      

  4.   

    我使用
    double f(double)
    {
    //...
    }
    这样定义,错误还是一样阿