Использование и информация в C ++ std :: shared_ptr

Я пытаюсь использовать std :: shared_ptr в своем коде. Я видел, что были и другие вопросы по этому поводу, но я все еще получаю ошибку компилятора. Есть ли у меня правильная версия gcc и установка?

Что я сделал:

Я попытался скомпилировать свой код с обоими заголовками отдельно - и , но в обоих случаях все равно получаются ошибки, указанные ниже.

Я использую версию gcc

gcc --version
gcc (GCC) 4.3.2

. Когда я включаю заголовок , я использую std :: shared_ptr и с Заголовок, который я использую std :: tr1 :: shared_ptr ? Это правильно?

Я настроил shared_ptr следующим образом:

std::shared_ptr<A*> ptr_A = shared_ptr( new A() );

Я получаю следующую ошибку:

src/WH.cxx:156: error: 'shared_ptr' is not a member of 'std'
src/WH.cxx:162: error: 'shared_ptr' was not declared in this scope

при попытке заголовка

src/WH.cxx:156: error: 'std::tr1' has not been declared
src/WH.cxx:162: error: 'shared_ptr' was not declared in this scope

Похоже как будто я что-то не включаю правильно. Есть идеи?

Я знаю, что в библиотеке boost есть shared_ptr , но эти библиотеки на данный момент мне не подходят.

РЕДАКТИРОВАТЬ: Просто чтобы добавить, мои параметры компилятора следующие: g ++ -O3 -g3 -m32 -fPIC -Wno-deprecated -pthread -m32 Я ничего не хватает?

PS Есть ли полезная литература по интеллектуальным указателям std?

18
задан Timo Geusch 19 December 2012 в 23:05
поделиться