6
我正在用G ++試驗一些新的C++ 0x功能。 Lambdas,auto
,其他新功能像魅力一樣工作,但基於範圍的for-loop無法編譯。這是程序我測試:G ++不能編譯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;
}
}
我編譯它:
g++ test.cpp -std=c++0x
我也試過gnu++0x
,但輸出是一樣的。
這是輸出:
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
在此先感謝您的幫助。
編輯:我正在使用GCC版本4.5.2,我現在看到它太舊了。
? – pmr