我有一个无法解决的boost.python问题。
我试图公开一个包含一个返回std::unique_ptr
的函数的类。
签名如下:std::unique_ptr<MyClass> myFunc() const;
我暴露了函数,并在python中调用myFunc()
时出现以下错误:
TypeError: No to_python (by-value) converter found for C++ type: std::unique_ptr<MyClass, std::default_delete<MyClass> >
我尝试通过使用以下代码公开指针来解决错误:
class_<std::unique_ptr<MyClass, std::default_delete<MyClass> >, boost::noncopyable ("MyClass", init<>());
编译时没有任何错误,但仍会产生相同的错误。
我错过了什么吗?