【发布时间】:2017-04-02 00:32:23
【问题描述】:
当不使用 libstdc++(10.9+ 目标)时,似乎 std::deque 不允许在 osx 上使用 clang 以递归方式使用它
#include <deque>
struct node { std::deque<node> childs; };
int main() {
node n;
}
只有当我设置 MACOS_DEPLOYMENT_TARGET=10.8(因为 clang 编译器与 libstdc++ 链接)时,这个简单的代码才使用 clang 编译,但如果我尝试使用 libc++(10.9+ 上的默认 c++ 目标)编译,它会给出很多错误,而使用gcc 4/5 它可以正常工作...
这是编译器错误还是标准不允许这样做?容器的使用似乎很明显......
【问题讨论】:
-
什么错误?.....
-
请注意,
boost.container库中的容器允许这样做。
标签: c++ macos clang standards deque