小编ee5*_*725的帖子

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

我试图将函数传递给函数,声明看起来像

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但调用函数引用不起作用.知道为什么会这样吗?

c++ c++11

2
推荐指数
1
解决办法
75
查看次数

标签 统计

c++ ×1

c++11 ×1