如何将值传递给函数,如果值是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

回到顶部