我有一些使用 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 特定的语法吗?(对我来说它看起来不像,但所有这些代码都是作为示例给出的,所以应该按照编译器提供的那样工作。)
有什么帮助吗?