У меня есть этот файл foobar.h
class Foobar {
public: void method(int arg[2]) {};
};
После компиляции интерфейса SWIG на Python, если я пытаюсь запустить этот метод с Python, он говорит
TypeError: in method 'Foobar_method', argument 2 of type 'int [2]'
Конечно. Поэтому я пишу эту картографическую карту SWIG:
%typemap(in) int [2] {}
и когда я скомпилирую это, Python запускает этот метод без жалоб. Поэтому я думаю, что я понимаю, как писать типовую карту.
Но если я изменю карту-страницу на argout
:
%typemap(argout) int [2] {}
Теперь Python возвращается к предыдущей ошибке.
Я просто делаю это непосредственно из руководства SWIG, это должно работать без этой ошибки, как in
typemap.
Что я делаю неправильно?