我lua绑定后,int类型的函数是可以调用的,数组就挂了

我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)

我参照网上的直接挂了

求助!!!