C++11 標準を使用して記述されたコードがあり、g++ バージョンは 4.4.6 です。私が知る限り、C++11 はサポートされているはずです (4.3 以降)。
ただし、フラグを使用してコンパイルしようとすると-std=c++11 -std=gnu++11
、エラーが繰り返されます
cc1plus: error: unrecognized command line option `-std=c++11`
cc1plus: error: unrecognized command line option `-std=gnu++11`
でコンパイルすると-std=c++0x
、次のようなエラーが生成されます
DeviceInfo.cpp:22: error: expected initializer before ‘:’ token
次のコード行に対応します。
for (cl::Platform& plat : platforms)
これは C++11 固有の構文ですか? (私にはそうは見えませんが、このコードはすべて例として提供されているため、コンパイラで提供されているとおりに機能するはずです。)
何か助けはありますか?