我试图将函数传递给函数,声明看起来像
double fun1(const double* ang, std::function<double(double)> f1)
Run Code Online (Sandbox Code Playgroud)
在main(),我正在创建函数指针并将其指向另一个函数as
std::function<double(double)> f2 = &fun5; //line1
Run Code Online (Sandbox Code Playgroud)
并将函数调用fun1为
double x = fun1(&a,f2);
Run Code Online (Sandbox Code Playgroud)
这有效.但是,如果我将函数称为
double x = fun1(&a,&f2);
Run Code Online (Sandbox Code Playgroud)
,它给出了错误
无法将'&f2'从'std :: function*'转换为'std :: function
创建引用工作,line1但调用函数引用不起作用.知道为什么会这样吗?