Я не могу понять, как правильно экспортировать некоторые функции в python с помощью boost.python.
Я экспортировал этот класс CL_Rectf .Он наследует CL_Rectx<float>
.
Теперь я хочу экспортировать функцию bounding_rect
:
# In CL_Rectf class exporting
.def("BoundingRect", &CL_Rectf::bounding_rect, PYPOLICY_REFERENCE_EXISTING)
Он компилируется, но когда я использую этот код в python:
mBox = CL_Rectf()
mBox.BoundingRect(CL_Rectf(x, y, x2, y2))
У меня такая ошибка:
Boost.Python.ArgumentError: Python argument types in
CL_Rectf.BoundingRect(CL_Rectf, CL_Rectf)
did not match C++ signature:
BoundingRect(CL_Rectf {lvalue}, CL_Rectx<float>)
Что-то не так с экспортом из-за CL_Rectx
в сигнатуре c ++.Что не так?