こんにちは私はちょうどそれに慣れるためにループに基づいて範囲をテストしています。このプログラムでは、ユーザーが4つの名前を入力できるようにして、4つのnames.Iを出力します。私はそれを正しくやっていると信じていますが、コンパイルしようとするとコンパイラエラーが発生します。範囲ベースの部分を削除して、私が使用している部分を使用すると、//うまく動作します。基本範囲ベースのループは実行されていませんか?
私のコードに何か問題がありますか?
names.cpp:機能において 'メインINT()':
names.cpp:18:エラー:前予想イニシャライザ ':' トークン
names.cpp:21:エラー:期待プライマリ-expression 'リターン'
names.cpp前:21:エラー:予想 '; '戻り' 前
names.cpp:21:エラー: '戻る' の前に予想一次式
names.cpp:21:エラー:予想「)」「リターン」の前に
#include"iostream"
#include"string"
using namespace std;
int main()
{
string names[4];
cout<<"input names\n";
for(int i=0;i<4;i++){
cin>>names[i];}
// The following 2 lines work
//for(int i=0; i<4; i++){
//cout<<names[i]<<endl;}
// the following 2 lines do not work
for(string val : names){
cout << val << endl;}
return 0;}
私のためにうまくコンパイル/実行:http://ideone.com/I2DbRN – Sneftel
私は名前を変えてみました:そして私はまだコンパイルできません。 – Jdub87
C++ 11より前のコンパイラ...どのコンパイラとどのバージョンを使用していますか?どの引数があればそれを渡していますか? – Sneftel