我有这个简单的C++代码:
class Contained {};
class CannotPickle {
public:
CannotPickle() {};
CannotPickle(std::vector<boost::shared_ptr<Contained>> new_vector)
: my_vector(new_vector) {};
std::vector<boost::shared_ptr<Contained>> my_vector;
};
struct CannotPickle_pickle_suite : boost::python::pickle_suite
{
static
boost::python::tuple
getinitargs(CannotPickle const& c)
{
return boost::python::make_tuple(c.my_vector);
}
};
我正在尝试为CannotPickle
启用pickle支持,如下所示:
当我试图在CannotPickle
上实际调用pickle
时,我得到以下错误:
运行时错误:Pickling of“MyModule.ContainedPtrList“实例未启用(http://www.boost.org/libs/python/doc/v2/pickle.html)
如何启用vector_indexing_suite
的酸洗?在
一些额外的搜索产生了这段代码,它似乎起作用了:
相关问题 更多 >
编程相关推荐