C++ Lua 从 Lua 表中获取值

4

我正在尝试从Lua表中获取值。这是我在Program.cpp中编写的内容:

lua_State* lua = luaL_newstate();
luaL_openlibs(lua);
luaL_dofile(program->getLuaState(), "Script.lua");

lua_getglobal(lua, "table");
lua_pushstring(lua, "x");
lua_gettable(lua, -2);
printf("%i", lua_tonumber(lua, -1));

我用 Script.lua 写了以下代码:

table = {x = 12, y = 32}

问题在于这只会在控制台中写入0。我已经检查过 lua 文件是否正确加载。我做错了什么?
1个回答

3

%i 更改为 %glua_tonumber 返回一个浮点数或双精度浮点数,而不是整数。


哦,我的天啊,我现在感觉好蠢。我真的花了40多分钟来解决这个问题。非常感谢。 - Erik W

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接