<类型的痛饮对象“阵列< float > *
问题描述:
我使用SWIG包裹一块C++代码从的Python使用它。<类型的痛饮对象“阵列< float > *
比方说,我有一个“阵列< T>”在C的用户定义的类++和我想计算从Python的这行代码:
myArray = MySWIGModule.getObject().myArray
其中该方法“的getObject()“返回包含(除其他之外)类型为”阵列< float>“的属性”myArray“的类”Object“。
当我想打印的myarray的内容或类型,我得到这个:
<Swig Object of type 'Array<float> *
但我想获得的东西,如:
<class 'MySWIGModule.FloatArray'>
我试过许多不同的解决方案没有成功你知道如何达到这个结果吗?谢谢!
答
写
%template(FloatArray) Array<float>
有痛饮use that name in the interface。这应该是完美的包装类启用;然而,如果它实际上是一个指针,SWIG可能仍然使用模板名称。另外,请注意生命周期问题:很容易获得一个指向部分对象的指针,当对其引用的Python对象被删除时,它将被销毁。