Я обернул простой интерфейс / класс c ++, используя pybind11
py::class_<IBaseObject, SmartPtr<IBaseObject>>(m, "BaseObject")
.def(py::init([]()
{
return BaseObject_Create();
}))
)
IBaseObject - это интерфейс, SmartPtr - это пользовательский тип держателя, а BaseObject_Create - фабричная функция, которая возвращает IBaseObject *.
Инсталляция класса из Python работает нормально, однако я также хочу создать экземпляр класса оболочки Python из C ++ при передаче IBaseObject * в качестве параметра.Это возможно?