如何将值传递给函数,如果值是SWIGTYPE
我在Java这样的包装的函数:如何将值传递给函数,如果值是SWIGTYPE
dosomething(SWIGTYPE_sometypeSTRUCT STRUCTtype);
在C代码 本来,声明如下这样:
dosomething(sometypeSTRUCT* structtype);
如何将SWIGTYPE传递给java函数。 如果我这样做: SWIGTYPE_sometypeSTRUCT something = new SWIGTYPE_sometypeSTRUCT();
它不会工作..它将工作,只有当我设置somthing = null。
回答:
的问题是,SWIG还没有看到一个定义sometypeSTRUCT
- 只要它知道你的dosomething
函数采用指针是一个不透明的类型。
当SWIG不知道详细信息时,它无法将其有意义地包装起来,唯一安全的做法就是让您在C中使用这种类型执行操作。
要解决这个问题,您可能需要使用%include
来引入结构的定义,或者可能在SWIG接口文件中提供一个定义。
以上是 如何将值传递给函数,如果值是SWIGTYPE 的全部内容, 来源链接: utcz.com/qa/266196.html