我正在使用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