#include <iostream>
int main(){
auto lambda = [] {
return 7;
};
std::cout << lambda() << '\n';
}
该程序编译并打印7。lambda
的返回类型根据返回值7推导为整数类型。
为什么普通功能无法做到这一点?
#include <iostream>
auto function(){
return 42;
}
int main(){
std::cout << function() << '\n';
}
错误:“函数”函数使用“自动”类型说明符,而没有尾随返回类型