SWIG отображает весь класс в обернутом python объекте - PullRequest
0 голосов
/ 26 марта 2020

Допустим, у меня есть класс A и класс B, так что у класса B есть метод, который выглядит следующим образом:

B* create(const A& a, int c){...}

приемлемый тип A также является строкой Например, я могу позвонить:

B::create("hello", 5);

, и он будет принят в интерфейсе C ++ и будет работать нормально!

Моя проблема в том, что при переносе класса B с SWIG Я хочу иметь возможность вызывать create в Python так же, как в интерфейсе c ++, например:

B.create('hello', 5)

, но для этого я думаю, что мне нужна карта типов, потому что сейчас я получаю ошибка, которая говорит:

TypeError: in method 'B_create', argument 1 of type 'A const &'

Как я могу правильно его набрать? Пробовал:

%typemap(in) const A& = const char*;

Но это не работает (я полагаю, потому что я действительно не получаю документацию о наборе типов)

...