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 编译器中,因此会发生该错误。
如何修复此错误:
以下是解决错误的步骤:
- 打开 Dev C++ 转到 -> 工具。
- 单击 -> 编译器选项(第一个选项)。
- 将打开一个新窗口,并在该窗口中单击 -> 设置:
- 转到 -> 代码生成:
- 在语言标准栏(std)中选择->ISO C++11:
- 单击确定,然后代码将执行并且不会出错。
现在代码工作正常并打印出预期的输出。
想要从精选的视频和练习题中学习,请查看C++ 基础课程,从基础到高级 C++ 和C++ STL 课程,了解语言和 STL。要完成从学习语言到 DS Algo 等的准备工作,请参阅完整的面试准备课程。