c++ - LuaBridge 回调(将 lua 函数传递给 c++)

标签 c++ binding lua luabridge

如何使用 Luabridge(1.0.2) 将函数从 LUA 传递到 C++

local Callback=function()
    print("Inside Callback function!");
end

然后将该回调传递给 C++:

self.Background:On("Click",Callback)

“点击”是 const std::string&,但是如何将回调定义为函数?我尝试了几种方法(void*、std::function),但没有一种方法能正常工作。

最佳答案

想通了!如果您尝试传递函数,LuaBridge 2.0(在开发分支中)通过引入 LuaRef 解决了这个问题。

你的函数看起来像这样:

void DisplayObject::On( const std::string& Param1,LuaRef Param2 );

然后像这样调用函数:

Param2();

https://github.com/vinniefalco/LuaBridge/tree/develop

关于c++ - LuaBridge 回调(将 lua 函数传递给 c++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16127334/

相关文章:

c++ - 了解 CComBSTR 赋值运算符

wpf - 关于 DataContext、硬编码值、绑定(bind)表达式、模板和嵌套控件的操作顺序

powershell - 什么是 [cmdletbinding()] 以及它如何工作?

arrays - 如何创建一个不迭代的lua数组

c++ - 使用 QMovie 在 GIF 动画和 Qt 中的信号/槽之间切换

c++ - 当唯一的派生类不添加额外变量时省略虚拟析构函数

C++文本文件转化为多维数组问题

wpf - DataGrid 绑定(bind)在 GroupItem 样式声明中不起作用

file-io - lua中如何读取串口

C++ 调用 Lua : use setField to point itself?