我刚刚开始尝试使用clang,并尝试编译以下示例程序:
#include <memory>
#include <iostream>
int main()
{
std::unique_ptr<unsigned> u(new unsigned(10));
std::cout << *u << std::endl;
return 0;
}
当我编译时,我得到以下错误:
$ clang++ helloworld.cpp
helloworld.cpp:6:10: error: no member named 'unique_ptr' in namespace 'std'
std::unique_ptr<unsigned> u(new unsigned(10));
~~~~~^
helloworld.cpp:6:29: error: expected '(' for function-style cast or type construction
std::unique_ptr<unsigned> u(new unsigned(10));
~~~~~~~~^
helloworld.cpp:6:31: error: use of undeclared identifier 'u'
std::unique_ptr<unsigned> u(new unsigned(10));
^
helloworld.cpp:7:19: error: use of undeclared identifier 'u'
std::cout << *u << std::endl;
^
4 errors generated.
我在Mac OS X上使用Clang 3.1:
$ clang++ --version
Apple clang version 3.1 (tags/Apple/clang-318.0.61) (based on LLVM 3.1svn)
Target: x86_64-apple-darwin11.4.0
Thread model: posix
你知道为什么这个不能编译吗?
发布于 2012-08-08 04:46:38
我通过使用以下命令来编译它
clang++ test.cpp -std=c++11 -stdlib=libc++
https://stackoverflow.com/questions/11853822
复制相似问题