我有一个C++类,用以下两种方法编写:
PublishField(char* name, double* address);
GetFieldReference(char* name, double*& address);
这个类的Python绑定是使用SWIG生成的。在我的swig.i文件中,我有以下内容:
^{pr2}$这使我可以发布在Python变量中定义的字段:
value = ptrDouble()
value.assign(10.0)
PublishField("value", value.cast())
尝试使用GetFieldReference方法会导致TypeError:
GetFieldReference("value", newValue)
我想我需要为double*创建一个typemap,它返回一个ptrDouble,但我不太确定它是什么样子。在
这是我想出的一个可行的解决方案。在
向swig.i文件添加包装函数:
现在从Python我可以使用以下命令:
^{2}$这个类型图应该能解决问题-
您可能需要检查为jarg2(在“argout”typemap中)分配所需的双精度值是否正确,或者是否应该指定jarg1。在
相关问题 更多 >
编程相关推荐