我有一个函数,它将另一个函数作为参数:
#include <functional>
void someFunc(const std::function<float(float)> &fn);
Run Code Online (Sandbox Code Playgroud)
如何将函数tanh
作为 的参数传递someFunc
?当我执行以下操作时,出现错误cannot determine which instance of overloaded function "tanh" is intended
:
#include <cmath>
someFunc(tanh);
Run Code Online (Sandbox Code Playgroud)
someFunc(static_cast<float(*)(float)>(tanh));
Run Code Online (Sandbox Code Playgroud)
或声明
void someFunc(float(*fn)(float));
Run Code Online (Sandbox Code Playgroud)
并分配给std::function<float(float)>
函数内部类型的变量。