繼返回實例是我C++ class
的boost :: python的靜態方法的類
namespace X {
class ChildFactory: public Father {
public:
static ChildFactor* createChildFactory(const properties* ptr = NULLPTR);
private :
// no instances allowed
ChildFactory();
ChildFactory(const properties* ptr);
~ChildFactory();
};
};
下面是如何我已經定義了Boost::Python
結構。
BOOST_PYTHON_MODULE(TestPy)
{
boost::python::class_<X::ChildFactory, boost::noncopyable>("ChildFactory")
.def("createChildFactory", &X::ChildFactory::createChildFactory, boost::python::return_value_policy<boost::python::manage_new_object>())
.staticmethod("createChildFactory")
;
}
但它給我奇怪的編譯器模板錯誤。
錯誤是
destructor could not be generated because a base class destructor is inaccessible