0
我刚把自己陷入与Luabind有关的奇怪问题。我想从Lua继承C++类,但Luabind文档中描述的方式不起作用。Luabind继承:自我未定义
function MyGame.__init()
Game.__init(self)
end
这段代码只是崩溃的应用,因为self
似乎未定义(如果打印出来返回nil
)。
我正在使用文件中描述的包装结构。
struct GameWrapper: Game, luabind::wrap_base{
GameWrapper()
: Game()
{}
virtual int Loop(void){
call<int>("Loop");
}
static int default_Loop(Game* ptr){
return ptr->Game::Loop();
}
static void Lua(lua_State *lua){
luabind::module(lua)
[
luabind::class_<Game, GameWrapper>("Game")
.def(luabind::constructor<>())
.def("Loop", &Game::Loop, &GameWrapper::default_Loop)
];
}
};
任何想法我可能做错了什么?
哎哟,这是多么愚蠢的错误。 –