我有这个 Lua 代码:
function returnPerson()
local person = Person("Mike", 23)
return person
end
它返回代表 Person(使用 LuaBridge 注册的 C++ 类)的用户数据。所以我使用 lua_pcall 调用这个函数,现在 lua 堆栈的最后一个元素是 userdata。我的问题是如何将 -1 的用户数据转换(转换)回 C++ 中的 Person。
我试过这个,但它只是终止程序:
LuaRef lref_p(l);
lref_p.fromStack(l, -1);
Person pers = lref_p.cast<Person>();
我希望这是有道理的:)