以下编译正常:
#include int main() { std::function f = []() -> int {return 1;}; const int& r = f(); // r is a dangling reference return 0; }
为什么可以将返回类型设置为std::function具有const int&返回类型的lambda int?恕我直言,允许这种演员隐含地发生并且没有任何警告.
std::function
const int&
int