【发布时间】:2021-04-11 01:09:24
【问题描述】:
我有一个如下的 lambda 函数,它明确声明 int 作为它的返回类型,但在它的实现中,它什么也不做。此外,它打印出它的返回值。令我惊讶的是,它编译没有错误并返回1。谁知道原因?
auto lambda = [](int a) -> int{};
cout << lambda << endl;
【问题讨论】:
-
尝试将 return 语句添加到您的 lambda 函数中,例如
return a;,然后打印std::cout << lambda(123)以观察不同的结果。