Saf sanal işlev çağrısı.Ben C++ ile yazılmış piton-modüllerini yapmak için boost.python kullanıyorum
class Test(Base):
def GetPosition(self):
return 404
Test obj
obj.GetPosition()
RuntimeError: Pure virtual function called
Sorun nedir: Ben koduna sahip Python
class Base
{
virtual int getPosition() = 0;
};
boost::python::class_<Base>("Base")
.def("GetPosition", boost::python::pure_virtual(&Base::getPosition));
: Ben böyle ihraç var saf sanal fonksiyonları ile bazı temel sınıf var? Bir yapıcı veya yıkıcı bir doğrudan veya dolaylı olarak saf bir sanal üyesini çağırdığında
Python kodu bir sözdizimi hatası içeriyor. – delnan
C++ sınıfı 'getPosition' (küçük harf g) ve Python sınıfında' GetPosition' (büyük harf G) vardır. Python hakkında bir şey bilmiyorsun, ama belki bu önemli mi? – Xeo
Neden 'getPosition()' sanal anahtar kelimeyi eksik? –