[英]Passing bool by reference using SWIG and Python
我已經使用SWIG封裝了C ++庫API,該API效果很好,但是我對“ bool&”參數感到困惑。
原始API如下所示:
無效foo(bool&bar);
當我從Python調用它時,_wrap.cxx在以下位置退出包裝過程
int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_bool, 0);
_v = SWIG_CheckState(res);
if (_v) {
換句話說,swig無法將我傳遞的內容轉換為bool指針。
我正在嘗試從Python調用它,如下所示:
obj = LibObject()
x = 0
obj.foo(x)
是否有一個簡單的typemap修復程序?
這應該工作:
%include <typemaps.i>
%apply bool & INOUT { bool & bar };
每當SWIG看到bool & bar
參數時,都應將其視為輸入/輸出參數。 如果僅將其用作輸出參數,請使用OUTPUT
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.