如何从C++中读取Lua表的返回值

nir*_*nir 4 c++ lua lua-table

我有一个Lua函数返回表(包含字符串集)函数运行正常使用此代码:

lua_pushstring (lua, "funcname");  
lua_gettable   (lua, LUA_GLOBALSINDEX);
lua_pushstring(lua, "someparam");
lua_pcall (lua, 1, 1, 0);
Run Code Online (Sandbox Code Playgroud)

该函数返回一个表.如何从我的C++代码中读取它的内容?

sbk*_*sbk 6

如果您询问如何遍历生成的表,则需要lua_next(该链接还包含一个示例).正如egarcia所说,如果lua_pcall返回0 ,则返回的函数表可以在堆栈顶部找到.