【发布时间】:2013-12-17 10:56:19
【问题描述】:
我已经用 c++ 包装了类并暴露给 python,当我调用函数成员时它工作,问题是我无法访问数据(类 Path 中的公共成员结果类型为 std::list
BOOST_PYTHON_MODULE(map) // module name
{
class_<Path>("Path")
.def_readonly("result", &Path::result)
.def("findPathFromTo", &Path::findPathFromTo);
class_<Position>("Position")
.def(init<float, float, float>())
.def_readwrite("x", &Position::x)
.def_readwrite("y", &Position::y)
.def_readwrite("z", &Position::z);
};
我喜欢打电话
import map
path = map.Path()
path.findPathFromTo(2, 3, 34 ,34)
path.resultPath
最后一行抛出异常
TypeError: No Python class registered for C++ class std::list<Position, std::allocator<Position> >
【问题讨论】:
标签: c++ python python-2.7 boost-python