Поименованные аргументы из Python в с++ через SWIG

Рейтинг: 4Ответов: 1Опубликовано: 04.04.2015

Объявляю в С++ class, ну например:

сlass Point
{
public:
    Point(int color, int x=0, int y=0);
};

Теперь из Python пробую создать объект

p = Point(16, y=0)

Но получаю что-то вроде:

TypeError: __init__() got an unexpected keyword argument 'y'

Как при помощи SWIG генерировать для Python интерфейс с поименованными аргументами?

Ответы

▲ 2Принят

Добавьте в Ваш интерфейсный файл, например point.i, следующую строку:

%feature ("kwargs") Point;