→ uranusjr: 你傳 ABC x 為什麼裡面 next 是當 pointer 用 07/09 00:11
※ 編輯: wtchen (90.27.156.252), 07/09/2017 00:50:39
抱歉,ABC應該是 struct __abc的pointer,已修正
※ 編輯: wtchen (90.27.156.252), 07/09/2017 00:51:06
→ uranusjr: 這樣應該是你 Python 側的 ABC 宣告方法有問題, 正常來 07/09 01:14
→ uranusjr: 說 null pointer 應該會被轉換成 None 才對 07/09 01:14
因為__abc的實作是被藏起來沒含在header裡,所以在python我這樣做:
class __abc(Structure):
pass
ABC = POINTER(__abc)
不知道這樣對不對就是了....
※ 編輯: wtchen (90.27.156.252), 07/09/2017 01:22:40
※ 編輯: wtchen (90.27.156.252), 07/09/2017 01:23:54
→ uranusjr: 如果是 opaque pointer 就直接用 c_void_p 07/09 01:46
→ uranusjr: 不然你就要手動檢查, 直接把 pointer 轉 bool (False 代 07/09 01:49
→ uranusjr: next = _GetNext(x); if next: print('Not null') 07/09 01:50
→ uranusjr: 大概像上面這樣 07/09 01:50
→ wtchen: 原來如此。謝謝。 07/09 01:54
推 ny8426: 推 07/09 10:11