Python SWIG C++;:结构内部的访问指针
我的头文件(myheader.h)中定义了如下所示的结构 SWIG接口文件Python SWIG C++;:结构内部的访问指针,python,c++,swig,Python,C++,Swig,我的头文件(myheader.h)中定义了如下所示的结构 SWIG接口文件 %module members %{ #define SWIG_FILE_WITH_INIT #include "myheader.h" %} %include "myheader.h" 在函数MyMemberCreate()中,创建了n个成员的列表,并将其存储在member中 在Python中,我希望访问以下成员: pyMember = members.member[0] 但这会产生以下错误: “MyMembe
%module members
%{
#define SWIG_FILE_WITH_INIT
#include "myheader.h"
%}
%include "myheader.h"
在函数MyMemberCreate()
中,创建了n个成员的列表,并将其存储在member
中
在Python中,我希望访问以下成员:
pyMember = members.member[0]
但这会产生以下错误:
“MyMemberStruct”对象不支持索引
我了解到我可以将以下内容添加到接口文件中
%extend MyMember {
MyMemberStruct __getitem__(int32_t index) {
if (index < $self->n_members) {
return $self->member[index];
}
}
}
在MyMemberStruct
有人能告诉我如何实现第一种方法的正确方向吗,即pyMember=members.member[0]
?
%extend MyMember {
MyMemberStruct __getitem__(int32_t index) {
if (index < $self->n_members) {
return $self->member[index];
}
}
}
pyMember = members[0]