我正在使用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()
RuntimeError: Pure virtual function called
有什么不对?
您在此发布的Python代码包含语法错误。 – delnan 2011-04-16 17:32:34
C++类具有'getPosition'(小写字母g),Python类具有'GetPosition'(大写字母G)。不了解Python的任何内容,但也许这很重要? – Xeo 2011-04-16 17:34:38
为什么'getPosition()'缺少virtual关键字? – 2011-04-16 17:35:18