错误一:5 I v2 U3 b/ x$ M6 F$ q3 A
/ Q2 O8 R( P# e
error C2259: 'MyEventReceiver' : cannot instantiate abstract class
due to following members:
'bool irr::IEventReceiver::OnEvent(const irr::SEvent )' : is abstract
原因是在按照Irrlicht的教程做时,由一个地方教程里有问题,有问题的地方标注如下红色:
( _* i$ z2 n$ X5 N
class MyEventReceiver : public IEventReceiver
{: y2 g/ c. d; s: F: R, U' r9 `' ?
public:) d' u5 q) E O ~9 b
virtual bool OnEvent(SEvent event)
{
if (event.EventType == EET_GUI_EVENT)
{5 W- I0 n* ?7 T8 F, p2 ]* D
s32 id = event.GUIEvent.Caller->getID();
IGUIEnvironment* env = device->getGUIEnvironment();4 g. M9 H$ z8 k
8 v# F: Y+ R' ~; N- X
应该改为 virtual bool OnEvent(const SEvent event)
, A ?+ l) o6 Y+ c( r: S4 `
就能解决这个错误了~
错误二:
( t x8 r/ H' J+ V
如果出现这个错误,将‘Irrlicht.dll’文件拷到当前工程的文件中。再编译链接一次,就ok了~
Irrlicht3d编程的两个常见错误解决
最新推荐文章于 2022-02-23 15:02:25 发布