我收到编译错误,说scoped_ptr
的复制构造函数是私有的,带有以下代码片段:
class a {};
struct s
{
boost::scoped_ptr<a> p;
};
BOOST_PYTHON_MODULE( module )
{
class_<s>( "s" );
}
此示例适用于shared_ptr。如果有人知道答案那就太好了。感谢
答案 0 :(得分:6)
boost::scoped_ptr
的语义禁止复制,而shared_ptr
旨在复制。scoped_ptr
。您得到的错误是编译器告诉您某些代码(宏扩展?)正在尝试复制{{1}},但该库不允许进行复制。