c++ - 为什么auto不能作为函数声明的返回类型

标签 c++ c++11 dry auto

此代码无法编译(intel icc 15.0.3)并显示错误消息 explicit type is missing ("int"assumed)

auto foo(){
     const bool retVal = false;
     return retVal;
}

很容易看出,这种情况下的返回类型是bool。为什么可以auto不能用作函数声明的返回类型?此功能将很好地支持 DRY principle .

最佳答案

正如 Jon 评论的那样和罗恩,使用 编译器修复了这个问题。

此外,Aki的 lambda 解决方案将起作用:

auto foo = []() {
  const bool retVal = false;
  return retVal;
};

关于c++ - 为什么auto不能作为函数声明的返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46602033/

相关文章:

C++运算符重载<<与 vector

c++ - 检查 C++ 中的下溢/溢出?

c++ - 如何在同一列表中存储指向任意类类型的方法指针?

c++ - 使用受限函数时的尾随返回类型问题

c++ - 重载运算符返回的对象在 C++ 中丢失数据

python - Django:如何使用 ImageField 的 upload_to 属性

c++在析构函数中删除 vector 类成员内存

c++ - gdb中的条件显示

css - DRY up CSS - 一个 child 的多个 parent

c# - 是否可以查询 ErrorProvider 是否设置了错误?