auto 能推断函数返回值类型吗?该怎么解决
auto 能推断函数返回值类型吗?
我是想让函数返回一个lambda表达式,例如:
------解决方案--------------------
不能呀。。。
------解决方案--------------------
就你这个代码而言,你要这个函数干嘛。
就你的问题而言,auto不是放这个地方用的,你要的是typeof/decltype+返回类型后置语法,或者boost/c++ tr1 ::function。
------解决方案--------------------
C++ 不支持默认返回值类型
------解决方案--------------------
个人认为这个恐怕够呛,虽然 C++最新标准表明:
带有明确初始化的变量定义将可以使用auto关键字,这种初始化将创建与初始化器类型相同的变量。例如:
auto otherVariable = 5;
但是作为函数返回类型的话,可能会报错吧~~
不过对于“后置类型返回”语法,也许可行,是这样的:
auto GetSth(int in)->int{
……
}
我是想让函数返回一个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{
……
}