使用swig 工具将C++ 转Python遇到的问题,忽略了嵌套的union
如代码:
template<class T> classA
{
public:
classA();
~classA();
union
{
struct
{
T x,y,z;
};
T xyz[3];
};
}
会忽略掉union格式,会影响继承或者其他方式的调用,我想到的解决方式有2种
(1)在c++代码中修改:添加setValue 和getValue函数。如 void setX(T xValue){x=xValue} 其他类似
(2)在.i文件中扩展classA类,添加代码:
%extend classA{
T getX() {return $self->x;}
void setX(T xValue){ $self->x = xValue;}
}