【发布时间】:2016-10-10 22:21:29
【问题描述】:
我是 Boost Python 的新手,我希望公开一个如下所示的类:
///Header File structure
class A
{ public:
A();
~A();
void B();
private:
class Impl;
std::unique_ptr Impl impl_;
};
///Class Implementation
class A::Impl
{
public:
void C();
}
A::A():impl_(new Impl)
{
}
A::~A()
{
}
void A::B()
{
void C();
}
有人可以建议怎么做,因为我尝试过的当前方法会出错,因为 Impl 是私有的,而且访问已经删除的函数错误:
BOOST_PYTHON_MODULE(libA)
{
class_<A::Impl>("Impl")
.def("C", &A::Impl::C)
class_<A>("A",init<std::unique_ptr>)
.def("B", &A::B)
}
【问题讨论】:
标签: python c++ class boost boost-python