为什么不能将Lambda分配给具有模板类型的函数对象?

时间:2018-04-09 13:15:43

标签: c++ function templates lambda language-lawyer

有几个问题与如何解决此问题有关:

我对周围的工作不感兴趣,我只想解释为什么这不起作用。

template <typename T>
void foo(T input, function<void(T)> func) { func(input); }

当我打这样的电话时:foo(13, [](int input){ cout << input; })
我假设问题与lambda不是 of 类型function<void(int)>但必须转换为该类型的事实有关。而且我假设不允许这样的转换成功编译模板 有人能给我一个肯定这个的参考吗?

0 个答案:

没有答案