📜  如何修复 Dev-C++ 中的 auto 关键字错误

📅  最后修改于: 2021-10-28 02:59:22             🧑  作者: Mango

C++ 中的 auto 关键字指定正在声明的变量的类型将自动从其初始值设定项中扣除。对于函数,如果它们的返回类型是 auto,那么它将在运行时由返回类型表达式求值。

// C++ program to illustrate the auto
// keyword in DevC++ compiler
#include 
using namespace std;
  
// Driver Code
int main()
{
    // Initialize vector
    vector v = { 1, 2, 3, 4, 5 };
  
    // Traverse vector using auto
    for (auto x : v) {
  
        // Print elements of vector
        cout << x << " ";
    }
}
输出:
1 2 3 4 5

同样的代码在 Dev-C++ 中产生错误:

如果要使用 auto 关键字遍历向量(如上面的代码所示),则会显示错误为:

为什么在 Dev-C++ 中会出现这个错误:

C++ 11 中引入了 auto 关键字,允许用户将类型推导留给编译器本身。但是在 Dev-C++ 中运行程序时,它会显示错误,因为在 Dev-C++ 内置 C++98 编译器中,因此会发生该错误。

如何修复此错误:

以下是解决错误的步骤:

  1. 打开 Dev C++ 转到 -> 工具。
  2. 单击 -> 编译器选项(第一个选项)。
  3. 将打开一个新窗口,并在该窗口中单击 -> 设置:
  4. 转到 -> 代码生成:
  5. 在语言标准栏(std)中选择->ISO C++11:
  6. 单击确定,然后代码将执行并且不会出错。

现在代码工作正常并打印出预期的输出。

想要从精选的视频和练习题中学习,请查看C++ 基础课程,从基础到高级 C++ 和C++ STL 课程,了解语言和 STL。要完成从学习语言到 DS Algo 等的准备工作,请参阅完整的面试准备课程