使用boost :: python返回一个暴露的类对象列表,这些对象是不可复制的

时间:2017-05-31 17:30:08

标签: python c++ boost

我有一个BOOST_PYTHON_MODULE,其中我有一个函数,我想返回一个我暴露的对象列表。

namespace bp = boost::python;

class MyClass {
public:
   int foo() {return 42;}
};

bp::list my_fun() {
   bp::list l;
   l.append(MyClass());
   l.append(MyClass());
   return l;
}


BOOST_PYTHON_MODULE(my_module) {
  bp::class_<MyClass,boost::noncopyable>("MyClass")
     .def("foo",&MyClass::foo);

  bp::def("my_fun",my_fun);
}

我得到了预期“找不到C ++类型的to_python(按值)转换器”,

1 个答案:

答案 0 :(得分:0)

引起

升压::不可复制

关键字。