c++代码
static int l_sin(lua_State *tolua_S){
std::vector<int> agr1;
lua_pushnil(tolua_S);
int index = 1;
while (lua_next(tolua_S, index))
{
lua_pushvalue(tolua_S, -2);
int key = lua_tointeger(tolua_S, -1);
int value = lua_tointeger(tolua_S, -2);
agr1.push_back(value);
lua_pop(tolua_S, 2);
}
lua_settop(tolua_S, 1);
return 0;
}
注册给lua调用:
tolua_function(tolua_S, "mysin", l_sin);
lua 代码:
local t = {
10, 20, 30, 40
}
mysin(t)
执行以后, std::vector agr1 中存放了table的数据。