Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/127.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用自动变量打印向量的内容_C++_C++11_Gcc_Clang - Fatal编程技术网

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。