我有一个函数,它将另一个函数作为参数:
#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)>函数内部类型的变量。