2013-03-14 59 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

相關問題