我lua绑定后,int类型的函数是可以调用的,数组就挂了,请问怎么绑定数组,让lua可以传数组给c++
C++层代码如下:
static
int LuaTable2Vector(lua_State *luaState)
{
int count = luaL_getn(luaState, 1);
std::vectorstd::string vecNameList;
for (
int i = 0; i < count; i++)
{
lua_rawgeti(luaState, 1, i+1);
const
char *strName = lua_tostring(luaState, -1);
vecNameList.push_back(strName);
lua_pop(luaState,1);
}
std::vectorstd::string::iterator it;
for (it = vecNameList.begin(); it != vecNameList.end(); it++)
{
cout << (*it).data() << endl;
}
return 0;
}
lua层调用代码很简单,就两行:
local nameTable = {“zhangsan”, “lisi”, “wangwu”, “liubei”, “guanyu”}
LuaTable2Vector(nameTable)
我参照网上的直接挂了