我正在使用库的这个功能
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 ?
答案 0 :(得分:1)
没有理由不会有这样的事情。 See here.我改变的唯一事情是:
find_min
声明中模板参数列表和函数参数列表末尾的无效逗号。ABC::run
公开。