Inheritance Luabind继承:未定义自己

Inheritance Luabind继承:未定义自己,inheritance,lua,luabind,Inheritance,Lua,Luabind,我刚和Luabind陷入了一个奇怪的问题。我想继承Lua中的C++类,但是LuabDin文档中描述的方法不起作用。 function MyGame.__init() Game.__init(self) end 这段代码会使应用程序崩溃,因为self似乎未定义(如果打印出来,则返回nil) 我正在使用文档中描述的包装结构 struct GameWrapper:Game,luabind::wrap\u base{ GameWrapper() :Game() {} 虚拟整数循环(void){

我刚和Luabind陷入了一个奇怪的问题。我想继承Lua中的C++类,但是LuabDin文档中描述的方法不起作用。
function MyGame.__init()
    Game.__init(self)
end
这段代码会使应用程序崩溃,因为
self
似乎未定义(如果打印出来,则返回
nil

我正在使用文档中描述的包装结构

struct GameWrapper:Game,luabind::wrap\u base{
GameWrapper()
:Game()
{}
虚拟整数循环(void){
调用(“循环”);
}
静态int默认_循环(游戏*ptr){
返回ptr->Game::Loop();
}
静态无效Lua(Lua_状态*Lua){
luabind::模块(lua)
[
luabind::类(“游戏”)
.def(luabind::constructor())
.def(“循环”,&Game::循环,&GameWrapper::默认_循环)
];
}
};  
你知道我做错了什么吗

但在Luabind doc中描述的方法根本不起作用

function MyGame.__init()
    Game.__init(self)
end
是的。你只是做得不对。具体来说,您没有注意到使用了
而不是
。其中: