lambdas上的模板参数推论

时间:2012-07-16 08:50:51

标签: c++ templates lambda c++11

  

可能重复:
  Is it possible to figure out the parameter type and return type of a lambda?

我想创建一个接受整数和任意函数(具有任意返回类型和参数)的函数,就像这样调用:

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)
{
    ...
}

0 个答案:

没有答案