2013-03-14 100 views
2

我正在使用g ++版本4.5.2。array不是名称空间的成员:: std

虽然我有包含数组头文件 #include <array>它不会抱怨头文件的存在。

但是当我做std::array<char , 16>

,当我尝试使用g ++

“阵列不是空间std的成员”

我搜索的编译抛出异常网上看到一个建议使用std::tr1::array<>

但这并没有帮助吗?

有人知道问题是什么吗?

+0

你能告诉我们你的代码? – 2013-03-14 18:28:07

+6

异常在编译时不会被抛出。这是一个普通的旧的错误。 – stefan 2013-03-14 18:37:18

回答

3

您需要使用GCC 4.6编译,后来有C++ 11层的功能,你需要正确的标志设置为-std=C++0x或GCC 4.7 -std=C++11

+2

GCC 4.5(甚至4.4)已经支持相当多的C++ 11功能,所以说你需要GCC 4.6+以上的任何C++ 11功能都不太正确。 – Grizzly 2013-03-14 18:43:52

+0

应该用小写字母吗? -std = C++ 0x或在GCC 4.7 -std = C++ 11中。 – Mathai 2013-11-19 02:23:07

相关问题