我有一个界面,例如:
int func(int array[]);
我必须通过 SWIG 从 Python 调用它。 绑定代码已编译,我不想编辑、编译或以其他方式弄乱 SWIG,但
func(int[])
的重载似乎可用 - SWIG 将其打印在异常日志中。
我该怎么称呼这个?它应该是相当标准的,但是
func((1,2,3))
和 func([1,2,3])
都不起作用,而且似乎没有任何明显的方法可以做到这一点。
这是一个非答案,因为它并没有真正解决通过 SWIG 以通用方式将数组参数传递给 C++ 函数的问题。
有一个:
%array_class(int, IntArray);
我正在处理的 SWIG 包装器的 .i
文件中的声明。所以我只是使用了
array = IntArray(size)
,填充了数组,事情就按预期进行了。
似乎没有其他方法可以做到这一点。