Я пытался связать статическую функцию, которая возвращает shared_ptr, указывающий на другой класс.
Вот пример кода
class Example {
public:
Example() {}
~Example() {}
};
class ABC {
public:
static std::shared_ptr<Example> get_example() {std::make_shared<Example();}
};
void init_abc(py::module & m) {
py::class_<Example>(m, "Example")
.def(py::init<>());
py::class_<ABC>(m, "ABC")
.def_static("get_example", &ABC::get_example);
}
Вот сторона Python
example = my_module.ABC.get_example()
Тем не менее, сторона Python вызвала ошибку сегментации.
Есть идеи?