本文共 705 字,大约阅读时间需要 2 分钟。
1、有个功能需要从C++回调lua的函数,于是我就仿照menuItem的做法,注册一个lua函数到C++中 ,我把C++
中的类通过tolua++工具导入到lua,类的pkg文件如下:
$#include "xxx.h" class xxx { public: void registerScriptTapHandler(int nhandle); void unregisterScriptTapHandler(); };
2、但是在我从lua中调用时出现:
LUA ERROR: [string "xxxx/GmSt..."]:219: error in function 'registerScriptTapHandler'. argument #2 is 'function'; 'number' expected. stack traceback: [C]: in function 'registerScriptTapHandler' [string "xxxx/GmSt..."]:219: in function 'loginChannel'
3、我看查了下menuItem的pkg文件,发现
void registerScriptTapHandler(int nhandle); 这个函数跟我写的不同,改成和menuItem一样,就可以了。
$#include "xx.h" class xx { public: void registerScriptTapHandler(LUA_FUNCTION funcID); void unregisterScriptTapHandler(); };
转载地址:http://hssmi.baihongyu.com/