程序无法识别智能指针

时间:2013-09-18 09:03:31

标签: c++ syntax std shared-ptr

关于在c ++程序中使用shared_pointers,我已经声明了#include <memory> 然后调用以下std::shared_ptr<int>(new int(5))它拒绝编译说

  

错误:'shared_ptr'不是'std'的成员

或者

  

无法解析符号'shared_ptr'

谁能告诉我为什么会这样?从我读到的,共享点应该在std或boost库中定义,我已经尝试过它们

1 个答案:

答案 0 :(得分:4)

std::shared是C ++ 11的一项功能。

你必须有一个支持这个的编译器。

例如,对于GCC,您应添加-std=c++11-std=gnu++11

如果您没有C ++ 11,也可以使用boost::shared_ptr