C++中的auto关键字指定将要从其初始值设定项中自动推断出要声明的变量的类型。对于函数,如果它们的返回类型为auto,则它将在运行时由返回类型expression求值。
// 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++中会产生错误:
如果要使用自动关键字遍历向量(如上面的代码所示),则它将显示错误:
为什么在Dev-C++中会发生此错误:
auto关键字在C++ 11中引入,允许用户将类型推导留给编译器本身。但是在Dev-C++中运行程序时,它将显示错误,因为在Dev-C++内置的C++ 98编译器中,正是这种错误发生了。
如何解决此错误:
以下是解决错误的步骤:
- 打开Dev C++,转到-> tools。
- 单击->编译器选项(第一个选项)。
- 将打开一个新窗口,然后在该窗口中单击->设置:
- 转到->代码生成:
- 在语言标准列(std)中,选择-> ISO C++ 11:
- 单击确定,然后代码将执行,并且不会出现任何错误。
现在,代码可以正常工作并输出预期的输出。
想要从精选的最佳视频中学习并解决问题,请查看有关从基础到高级C++的C++基础课程以及有关语言和STL的C++ STL课程。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。