2010-05-28 83 views
1

下面是我認爲是一個列表的漂亮標準頭。因爲struct 指向自身,所以我們需要這個兩部分聲明。說它listicle.h我怎樣才能讓swig包裝一個鏈表式結構?

typedef struct _listicle listicle; 

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

我試圖讓痛飲來包裝這個,讓Python的用戶可以使用listicle 結構的。下面是我在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(並修復構造函數)並在Python中加載type object '_listicle' has no attribute '_listicle_swigregister'。等等。]

對此有何建議?

回答

0

也許你可以忽略python代碼中的下一個指針,並且只需要在python中調用next()函數?或者,也許我不明白是什麼問題...