我想做一个接受整数和任意函数(具有任意返回类型和参数)的函数,像这样调用:
server.bind(tag, [&](std::string greeting) { return greeting + " earth."; });
关于如何设置模板以获取 lambda 的返回类型和减去 lambda 参数的类型的任何想法?
以下代码尽可能接近,但使用上述代码推导模板参数失败:
template <typename Return, typename... Args>
void service::bind(uint16_t tag,
std::function<Return (Args...)> function)
{
...
}