【发布时间】:2013-12-20 11:16:13
【问题描述】:
#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';
}
错误:‘function’函数使用‘auto’类型说明符,没有尾随返回类型
【问题讨论】:
-
已经在 VS2013 Nov CTP 中可用。这是一个 C++14 特性已经可用。对于返回类型混乱的模板化函数来说,这是一个很棒的帮助。
标签: c++ function c++11 lambda auto