C++ 将函数传递给另一个函数的参数错误

C++ 将函数传递给另一个函数的参数错误,c++,fibonacci,C++,Fibonacci,来自此链接的链接我试图推断您在这里试图做什么,如果我误解了,请告诉我 第一:菲布忍者中的acum和ant需要加倍 第二:我不知道你想用6.0和2.0来做什么。它们没有在签名中声明,也没有在fib_ninja中的任何地方使用,将它们传递给soma et al.函数也没有意义,因为fib_ninja显然是要获取函数指针,而不是执行这些函数返回的双精度指针。从fib_ninja调用中删除参数6.0和2.0以及多余的括号,这样就可以消除错误 例如: 忍者座,0; fib_ninjamult,1 在解决了

来自此链接的链接

我试图推断您在这里试图做什么,如果我误解了,请告诉我

第一:菲布忍者中的acum和ant需要加倍

第二:我不知道你想用6.0和2.0来做什么。它们没有在签名中声明,也没有在fib_ninja中的任何地方使用,将它们传递给soma et al.函数也没有意义,因为fib_ninja显然是要获取函数指针,而不是执行这些函数返回的双精度指针。从fib_ninja调用中删除参数6.0和2.0以及多余的括号,这样就可以消除错误

例如: 忍者座,0; fib_ninjamult,1


在解决了这些问题之后,您的代码仍然做不了多少工作。如果您在继续工作后遇到进一步的问题,请发布另一个问题。

该程序有点混乱,如果不做一些更改,可能不会做任何有用的事情。我建议把你想回答的问题贴出来

尽管如此,编译器的直接问题还是相当简单的

In function 'main':
Line 39: error: incompatible type for argument 1 of 'fib_ninja'
Line 42: error: incompatible type for argument 1 of 'fib_ninja'
Line 45: error: incompatible type for argument 1 of 'fib_ninja'
Line 48: error: incompatible type for argument 1 of 'fib_ninja'

我想你想要上面的func2之类的东西,但你写的东西更像func1。

当我读到一个拼写错误的标题时,我总觉得自己被迷住了。总是用你正在使用的语言标记,请使用更具描述性的标题。对不起,我英语不好,我来自巴西。;/这里的教育很糟糕。双重谎言忍者双重*fndough a,double b,int init{你真的能声明这样的方法吗?@progenhard:当然可以。。。
In function 'main':
Line 39: error: incompatible type for argument 1 of 'fib_ninja'
Line 42: error: incompatible type for argument 1 of 'fib_ninja'
Line 45: error: incompatible type for argument 1 of 'fib_ninja'
Line 48: error: incompatible type for argument 1 of 'fib_ninja'
double Add(double x, double y);

int main()
{
    // The following will execute Add() and
    // pass the result to func1() as a double.
    func1(Add(1.0, 2.0));

    // The following will pass a function pointer
    // for Add() to func2()
    func2(Add);

    return 0;
}