【发布时间】:2021-06-20 20:03:54
【问题描述】:
#include <functional>
void f()
{
// warning: return-statement with a value, in function returning 'void'
return true;
}
std::function<void()> fn = [] { return true; }; // no warning
int main()
{}
为什么std::function<void()> 返回一个lambda bool 没有任何警告?
【问题讨论】:
-
可能不是,因为 lambda 函数根本没有实例化。见这里:coliru.stacked-crooked.com/a/9e183d9a4dcbf4ca
标签: c++ function c++11 generics lambda