如果lua_pcall返回错误,堆栈上是否还剩下返回值?

时间:2018-06-25 20:31:00

标签: lua lua-c++-connection

假设我从C调用Lua函数,该函数返回一个结果。如果返回错误,结果是否仍在堆栈中?

例如,以下代码中的第一个lua_pop应该存在吗?

if (lua_pcall(L, nArgs, 1, 0)) {
   lua_pop(L, 1); //should this exist?
   DisplayLuaError(L);
   return -1;
} else {
   int x = lua_tonumber(L, -1);
   lua_pop(1);
   return x;
}

0 个答案:

没有答案