Я хочу экспортировать в модуль python (написанный на c ++, с библиотекой boost.python) такую функцию:
Vec2<Type> &normalize ()
Type dot(const Vec2<Type> &vector) const
Это члены класса шаблона Vec2
. Вот мой экспортный код:
bp::class_< Vec2<int> >("Vec2i", bp::init<int, int>())
.def("Length", &Vec2<int>::length)
.def("Dot", &Vec2<int>::dot, bp::return_internal_reference<>());
//.def("Normalize", &Vec2<int>::normalize);
Length
метод компилируется успешно, но Dot
и Normalize
возвращает ту же ошибку (во время компиляции):
error: no matching function for call to ‘boost::python::class_<Vec2<int> >::def(const char [4], <unresolved overloaded function type>, boost::python::return_internal_reference<>)’
Что я сделал не так?
UPD
Настоящее имя класса: CL_Vec<Type>
, вот документы .