<类型的痛饮对象“阵列< 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对象被删除时,它将被销毁。