G ++の新しいC++ 0x機能のいくつかを試していました。 Lambdas、auto
などの新しい機能は魅力的に機能しましたが、範囲ベースのforループはコンパイルできませんでした。私はまた、gnu++0x
を試してみましたが、出力は同じであったG ++はC++ 0xの範囲ベースのループをコンパイルしません
g++ test.cpp -std=c++0x
:私はそれを
#include <iostream>
#include <vector>
int main()
{
std::vector<int> data = { 1, 2, 3, 4 };
for (int datum : data)
{
std::cout << datum << std::endl;
}
}
コンパイル:これは私がテストされたプログラムです。
これは出力した:あなたの助けを事前に
test.cpp: In function ‘int main()’:
test.cpp:8:21: error: expected initializer before ‘:’ token
test.cpp:12:1: error: expected primary-expression before ‘}’ token
test.cpp:12:1: error: expected ‘;’ before ‘}’ token
test.cpp:12:1: error: expected primary-expression before ‘}’ token
test.cpp:12:1: error: expected ‘)’ before ‘}’ token
test.cpp:12:1: error: expected primary-expression before ‘}’ token
test.cpp:12:1: error: expected ‘;’ before ‘}’ token
感謝。
EDIT:GCCバージョン4.5.2を使用していますが、これは今では古すぎます。
? – pmr