虽然这里有一些关于clang的C++11支持的问题,但我似乎无法让clang++吃我的C++11代码。
$ clang++ --version
clang version 2.9 (tags/RELEASE_29/final)
Target: x86_64-pc-linux-gnu
Thread model: posix根据clang C++11状态页,我至少应该有部分支持(例如右尖括号),但它拒绝了我测试的所有特性。
有没有开关告诉clang使用C++11?
示例测试:
$ clang++ -stdlib=libstdc++ cpp11.cpp
cpp11.cpp:16:33: error: a space is required between consecutive right angle brackets (use '> >')
std::vector<std::pair<int,char>> xs;
^~
> >
cpp11.cpp:18:8: error: C++ requires a type specifier for all declarations
auto y = x;
~~~~ ^
2 errors generated发布于 2011-11-29 00:10:23
ildjarn指出了正确的论点,-std=c++0x或-std=c++11。这个论点可能会产生错误,因为您使用的libstdc++版本使用了clang2.9不支持的一些C++11或非标准C++。
https://stackoverflow.com/questions/8303955
复制相似问题