C++ 使用自动变量打印向量的内容
我在一本书中读到,迭代向量的较短方法如下:C++ 使用自动变量打印向量的内容,c++,c++11,gcc,clang,C++,C++11,Gcc,Clang,我在一本书中读到,迭代向量的较短方法如下: for (auto x : v) { cout << x << "\n"; } 用于(自动x:v) { cout您的语法是正确的。请注意,您正在复制x中的每个元素,但您可能希望使用const auto& 您需要在编译器中启用C++11—如果您使用的是gcc或clang,只需传递-std=C++11标志即可。您确定使用C++11编译器编译代码吗 使用gcc时,需要-std=c++11标志: g++ -std=c++11
for (auto x : v)
{
cout << x << "\n";
}
用于(自动x:v)
{
cout您的语法是正确的。请注意,您正在复制x
中的每个元素,但您可能希望使用const auto&
您需要在编译器中启用C++11—如果您使用的是gcc或clang,只需传递-std=C++11
标志即可。您确定使用C++11编译器编译代码吗
使用gcc
时,需要-std=c++11
标志:
g++ -std=c++11
同样适用于叮当声
:
clang++ -std=c++11
错误在于,在使用不支持C++11的编译器(在模式下)进行编译时,使用了C++11标准中引入的语言功能 解决方案是使用支持C++11的编译器(在模式中)。如果您的编译器支持C++11(而且可能支持,因为它知道
auto
)的含义发生了变化),那么它的文档将指定如何启用C++11或更高版本的标准模式
你在用什么编译器 通用条款(tdm 64-1)5.1.0 您的编译器的名称是: 要在GCC中选择该标准,请使用选项-std=c++11;要获得该标准所需的所有诊断,还应指定-pedantic
您使用的是什么编译器?我使用的是CodeLite v10.0。0@SayangdiptoChakrabortyCodeLite不是编译器。@SayangdiptoChakraborty那是一个编辑器,不是编译器,你用的是哪种编译器?谢谢大家,我没有在CodeLite中启用C++11。它现在可以工作了。是的,谢谢。我的IDE中没有启用C++11和14。是的,谢谢。我会的我没有在我的IDE中启用C++11和14。