通过boost-Python-get-u-override方法传递c结构(从c+;+;到Python) 我使用PosithPython创建了一个纯虚C++函数的Python 3包装器。

通过boost-Python-get-u-override方法传递c结构(从c+;+;到Python) 我使用PosithPython创建了一个纯虚C++函数的Python 3包装器。,python,c++,boost,struct,Python,C++,Boost,Struct,我正在使用get_override方法调用python包装器,如图所示: override f=this->get_override(“handleMsg”) 我可以使用override f对象将基本参数发送到python包装器,例如: f(10,20);//this works int tmp =10; f(10,20); //this works 我的python方法只是使用print()打印确认 但是,我需要将cpp结构或共享ptr传递给我的python方法。 如果我尝试发送这些,我的

我正在使用get_override方法调用python包装器,如图所示:

override f=this->get_override(“handleMsg”)

我可以使用
override f
对象将基本参数发送到python包装器,例如:

f(10,20);//this works

int tmp =10;
f(10,20); //this works
我的python方法只是使用print()打印确认

但是,我需要将cpp结构或共享ptr传递给我的python方法。

如果我尝试发送这些,我的python脚本将崩溃,而gdb中没有任何堆栈跟踪

如何将cpp结构、指针或boost共享\u ptr发送到python包装器?

我已经尝试了这里描述的许多实现,但都没有成功


我正在使用Boost 1.48和Python 3

现在,每当我收到一个cpp对象时,我都会重新创建一个Boost::Python::对象。还有更直接的方法吗?到目前为止,每次收到cpp对象时,我都会重新创建一个boost::python::对象。有没有更直接的方法?