C++ 使用基于范围的for循环自动遍历字符串

C++ 使用基于范围的for循环自动遍历字符串,c++,c++11,c++14,C++,C++11,C++14,考虑以下程序 string hr = "hackerrank"; for(auto &c: hr){ cout<<c; } 为什么它在g++编译器上显示错误而在HackerRank上不显示 PS:我试着通过所有讨论这个错误的问题。但我找不到答案。如果您发现类似的问题,请告诉我。您使用的是g++的哪个版本?使用g++编译时使用的命令行是什么?您确定要指定c++11或更高版本吗?我使用的是gcc 5.4.0。用于编译程序的命令是g++filename.cppAd

考虑以下程序

string hr = "hackerrank";
for(auto &c: hr){
        cout<<c;
}
为什么它在g++编译器上显示错误而在HackerRank上不显示


PS:我试着通过所有讨论这个错误的问题。但我找不到答案。如果您发现类似的问题,请告诉我。

您使用的是
g++
的哪个版本?使用
g++
编译时使用的命令行是什么?您确定要指定
c++11
或更高版本吗?我使用的是gcc 5.4.0。用于编译程序的命令是
g++filename.cpp
Add-std=c++11command@manni66 .. 成功了!
error: ISO C++ forbids declaration of ‘c’ with no type [-fpermissive]
for(auto &c: hr){