Дано два класса:
class B {
// ...
};
class A {
public:
B& b() { return *b_; }
private:
B* b_;
};
В модуле Boost.Python у меня есть
bp::class_<B, boost::noncopyable>(...)...;
, который работает нормально. У меня также есть
bp::class_<A, boost::noncopyable>(...)
.def("b", &A::b,
bp::return_internal_reference<>()
)
но он не компилируется. Там написано:
/opt/local/include/boost/python/detail/caller.hpp:102:109: error: 'struct boost::python::detail::reference_existing_object_requires_a_pointer_or_reference_return_type<B>' has no member named 'get_pytype'
Но у него должен быть pytype, верно?