Mac OSX 10.7.4,Xcode 4.4.1,没有<array>头文件?

Jef*_*son 5 arrays xcode g++ include

我正在编写一个程序,它将使用C++标准库的数组容器来保存一些对象.但是,每当我尝试在我的程序中包含以下代码行时:

#include <array>
Run Code Online (Sandbox Code Playgroud)

我在编译时收到以下错误:

75-143-76-177:soft jeffersonhudson$ g++ mms.cpp -o mms
mms.cpp:5:17: error: array: No such file or directory 
75-143-76-177:soft jeffersonhudson$ 
Run Code Online (Sandbox Code Playgroud)

注释#include让我编译得很好.当然我忽略了一些简单的事情?我在Xcode中安装了"命令行工具",我还缺少什么吗?

编辑:

我在计算机上找到了阵列的位置

/usr/clang-ide/lib/c++/v1
Run Code Online (Sandbox Code Playgroud)

知道了,我该怎么办?

ken*_*ytm 5

<array>C++11中提供,需要提供-std=c++11flag才能启用,并提供-stdlib=libc++对应库的flag。但是Xcode提供的g++太老了,对C++11没有太多支持。你能切换到 clang 吗?

clang++ -std=c++11 -stdlib=libc++ mms.cpp -o mms
Run Code Online (Sandbox Code Playgroud)


jus*_*tin 5

从它的外观来看,你没有使用LLVM的libc ++,而是使用GCC的libstdc ++.

std::array在后一种情况下使用,请使用:

#include <tr1/array>
Run Code Online (Sandbox Code Playgroud)

如果你想使用libc ++和C++ 11,那么改变你的编译器标志为KennyTM建议(+1).