Я пытаюсь обернуть класс c ++ (назовем его «Спам»), написанный кем-то другим с помощью swig, чтобы открыть его для Python.
После решения нескольких проблем я могу импортировать модуль в python, но когда я пытаюсь создать объект такого класса, я получаю следующую ошибку:
foo = Spam.Spam('abc',3)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "Spam.py", line 96, in __init__
this = _Spam.new_Spam(*args)
NotImplementedError: Wrong number of arguments for overloaded function 'new_Spam'.
Possible C/C++ prototypes are:
Spam(unsigned char *,unsigned long,bool,unsigned int,SSTree::io_action,char const *)
Spam(unsigned char *,unsigned long,bool,unsigned int,SSTree::io_action)
Spam(unsigned char *,unsigned long,bool,unsigned int)
Spam(unsigned char *,unsigned long,bool)
Spam(unsigned char *,unsigned long)
Погуглив, я понял, что ошибка, вероятно, вызвана типом аргументов, а не числом (что весьма запутанно), но я все еще не могу определить. Я подозреваю, что проблема заключается в передаче строки в качестве первого аргумента, но я не знаю, как ее исправить (имейте в виду, что я почти не знаю c / c ++).