在C ++中我有一个简单的例子
class z {
public int a;
};
struct testStructure
{
z testArray[2];
};
当我尝试用SWIG包装它时,它无法返回" testArray"作为一个数组,但只是对象z。
我包含了" arrays_java.i",但这仅适用于基本类型。这意味着如果在" struct testStructure"我用" int"因为testArray不是" z",SWIG可以解释它并返回一个数组。但对于用户定义的类型,它有麻烦。
我需要在界面文件中做些什么,以便SWIG可以正确包装它。
由于
答案 0 :(得分:0)
一个选项是创建一些额外的函数来访问swig接口文件中的数组元素。
%inline %{
z getTestArrayElem(testStructure *ts, int index) {
return ts->testArray[index];
}
void setTestArrayElem(testStructure *ts, int index, z *val) {
ts->testArray[index] = *val;
}
%}