2010-05-28 3 views
1

다음은 목록에 대한 꽤 표준적인 헤더가되는 것입니다. 구조체 자체를 가리 키기 때문에이 두 부분 선언이 필요합니다. 그것은 listicle.h 전화 : 나는 파이썬 사용자가 listicle 구조체의 사용을 할 수 있도록,이 포장 한모금을 얻으려고어떻게하면 링크 된 목록 유형 구조를 감쌀 수 있습니까?

typedef struct _listicle listicle; 

struct _listicle{ 
    int i; 
    listicle *next; 
};  

. 여기에 내가 지금 listicle.i에 무엇을 : 당신이 내 부탁 여기 됨으로써 알 수 있듯이, 그것은 작동하지 않습니다

%module listicle 

%{ 
#include "listicle.h" 
%} 

%include listicle.h 
%rename(listicle) _listicle; 

%extend listicle { 
    listicle() {return malloc (sizeof(listicle));} 
} 

. 모든 다양한 조합 나는 각자의 특별한 방법으로 실패를 시도했다. [이 하나 : %extend defined for an undeclared class listicle. 그것을 %extend _listicle으로 변경하고 (생성자를 수정하십시오) 파이썬으로로드하면 type object '_listicle' has no attribute '_listicle_swigregister'이됩니다. 등등.]

제안?

답변

0

아마도 파이썬 코드에서 다음 포인터를 무시하고 파이썬에서 호출하는 next() 함수를 사용할 수 있을까요? 아니면 문제가 무엇인지 이해하지 못할 수도 있습니다 ...