Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python SWIG C++;:结构内部的访问指针_Python_C++_Swig - Fatal编程技术网

Python SWIG C++;:结构内部的访问指针

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

我的头文件(myheader.h)中定义了如下所示的结构

SWIG接口文件

%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]