-2
私はBOOST_PYTHON_MODULEを持っています。私は、公開しているオブジェクトのリストを返す関数を持っています。boost :: pythonで、コピー不可能な公開クラスオブジェクトのリストを返します。
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);
}
私は、
ブースト::コピー不可
キーワードによって引き起こさ
これは 'MyClass :: foo()'がプライベートであるためコンパイルされません。それ以外は、動作します - 'my_fun()[0] .foo()'を呼び出すと42が返されます。 –
@DanMasekはい、そうです、時間をいただきありがとうございます。このエラーは、この単純化された例に入れないと考えられる、コピー不可能なキーワードでした。 – user1443778
参照ラッパーまたはリストへのポインターを追加する必要があります。 –