Clang 3.1 не может видеть unique_ptr? - программирование
Подтвердить что ты не робот

Clang 3.1 не может видеть unique_ptr?

Я только начал играть с 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.

Я использую Clang 3.1 в Mac OS X:

$ 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

Любые идеи, почему это не скомпилировалось?

4b9b3361

Ответ 1

Я получил его для компиляции с помощью

clang++ test.cpp  -std=c++11 -stdlib=libc++