关于在c ++程序中使用shared_pointers,我已经声明了#include <memory>
然后调用以下std::shared_ptr<int>(new int(5))
它拒绝编译说
错误:'shared_ptr'不是'std'的成员
或者
无法解析符号'shared_ptr'
谁能告诉我为什么会这样?从我读到的,共享点应该在std或boost库中定义,我已经尝试过它们
答案 0 :(得分:4)
std::shared
是C ++ 11的一项功能。
你必须有一个支持这个的编译器。
例如,对于GCC,您应添加-std=c++11
或-std=gnu++11
。
如果您没有C ++ 11,也可以使用boost::shared_ptr
。