我正在使用boost.python来创建用c++编写的python模块。我有一些基类,其中包含纯虚函数,我已经像这样导出:
class Base
{
virtual int getPosition() = 0;
};
boost::python::class_<Base>("Base")
.def("GetPosition", boost::python::pure_virtual(&Base::getPosition));
在Python中,我有如下代码:
class Test(Base):
def GetPosition(self):
return 404
Test obj
obj.GetPosition()
运行时错误:调用了纯虚函数。
有什么问题?
getPosition
(小写g),而Python类有GetPosition
(大写G)。不知道Python的情况,但也许这很重要? - XeogetPosition()
缺少虚拟关键字? - Karl von Moor