首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

auto 能推断函数返回值类型吗?该怎么解决

2012-03-16 
auto 能推断函数返回值类型吗?我是想让函数返回一个lambda表达式,例如:C/C++ codeauto GetSth(int in){int

auto 能推断函数返回值类型吗?
我是想让函数返回一个lambda表达式,例如:

C/C++ code
auto GetSth(int in){    int a = in;    return [&a]()->int{return ++a;};}




[解决办法]
不能呀。。。
[解决办法]
就你这个代码而言,你要这个函数干嘛。
就你的问题而言,auto不是放这个地方用的,你要的是typeof/decltype+返回类型后置语法,或者boost/c++ tr1 ::function。

[解决办法]
C++ 不支持默认返回值类型
[解决办法]
个人认为这个恐怕够呛,虽然 C++最新标准表明:
带有明确初始化的变量定义将可以使用auto关键字,这种初始化将创建与初始化器类型相同的变量。例如: 
auto otherVariable = 5; 
但是作为函数返回类型的话,可能会报错吧~~
不过对于“后置类型返回”语法,也许可行,是这样的:
auto GetSth(int in)->int{
……
}

热点排行