我有一个用 C++ 编写的 Publisher 类,有以下两种方法:
PublishField(char* name, double* address);
GetFieldReference(char* name, double*& address);
此类的 Python 绑定是使用 SWIG 生成的。在我的 swig .i 文件中,我有以下内容:
%pointer_class(double*, ptrDouble);
这让我可以发布一个在 Python 变量中定义的字段:
value = ptrDouble()
value.assign(10.0)
PublishField("value", value.cast())
但是,尝试使用 GetFieldReference 方法会导致 TypeError:
GetFieldReference("value", newValue)
我想我需要为返回 ptrDouble 的 double*& 创建一个类型映射,但我不太确定它会是什么样子。