c++ - 自动类型说明符

标签 c++ c++11 auto

<分区>

我刚刚了解了自动类型说明符,并尝试在非常简单的代码中使用它

#include <iostream>
int main()
{
 using namespace std;
int a = 21;
auto c = a;
cout<<c;
}

在运行时,这段代码给出了一个错误,提示“警告:‘auto’在 C++11 中改变了意义;请删除它。

这里有什么问题?

最佳答案

如果您使用的是 Code::Blocks,则需要进入程序设置,找到编译器选项并选中 -std=c++0x 旁边的复选框。

默认情况下,它在 C++03 模式下编译,其中 auto 意味着不同的东西,因此它会给出您所说的警告。为了启用(部分)C++11 支持,包括 auto,您需要将适当的选项传递给编译器。对于 Code::Blocks,它有一个带有复选框的菜单,其中列出了常见的编译器设置。

关于c++ - 自动类型说明符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16890335/

相关文章:

c++ - 我可以在 C++11 中使用键和值都是枚举类的 std::map 吗?

c++ - 关于 'auto'扣型的困惑

c++ - 删除 C++-STL/Boost 调试符号(...或不创建它们)

c++ - 虚幻引擎 4 : Converting DrawMesh() from Unity

c++ - boost::shared_ptr 和 std::shared_ptr 共存

c++ - x64 MOV、JMP 指令使程序崩溃

c++ - 自动和友元函数的返回类型匹配

c++ - 从 sizeof 自动扣除的类型在 Visual Studio C++ 和 GCC 之间不同

c++ - 让用户决定在 C++ 中运行哪个函数的最佳方法?

c++ - 如何在 C++ 中移动字符数组的某些位置