将函数指针传递给函数,该函数通过引用获取另一个函数

时间:2012-08-07 04:27:22

标签: c++ function-pointers

我正在使用库的这个功能

template <
    typename funct, 
    >
double find_min (
    const funct& f, 
);

当我调用 find_min(function_a)时,其中 function_a 是静态函数,它可以正常工作。但是当我尝试在运行函数中封装 find_min 并将函数指针传递给 find_min 时,会出现错误,例如

class ABC {
    void run(double (*function_ptr)(double))
    {
        find_min((*function_ptr));
    }
}

这是否意味着我只能将静态函数传递给 find_min

1 个答案:

答案 0 :(得分:1)

没有理由不会有这样的事情。 See here.我改变的唯一事情是:

  • 删除了find_min声明中模板参数列表和函数参数列表末尾的无效逗号。
  • 制作ABC::run公开。