此代码无法编译(intel icc 15.0.3)并显示错误消息 explicit type is missing ("int"assumed)
auto foo(){
const bool retVal = false;
return retVal;
}
很容易看出,这种情况下的返回类型是bool
。为什么可以auto不能用作函数声明的返回类型?此功能将很好地支持 DRY principle .
最佳答案
正如 Jon 评论的那样和罗恩,使用 c++14编译器修复了这个问题。
此外,Aki的 lambda 解决方案将起作用:
auto foo = []() {
const bool retVal = false;
return retVal;
};
关于c++ - 为什么auto不能作为函数声明的返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46602033/