所有。通过使用luabind从lua脚本中读取数组,我遇到了一个陌生人的问题。
lua脚本如下所示:
root =
{
id = 1,
id = 2,
id = 3
};
并且c ++代码如下所示: luabind :: object data_root = luabind :: globals(L)[“root”];
for (luabind::iterator i(data_root), end; i != end; ++i)
{
luabind::object data = *i;
unsigned int id = luabind::object_cast<unsigned int>(data);
std::cout << "id:" << id << std::endl;
}
输出仅为:
id:3
我想输出[root]的所有元素,但它只输出最后一个元素。
谢谢你,杰森:)
答案 0 :(得分:2)
root没有多个元素,只有一个元素。您已将密钥id
分配给三个不同的值,但该密钥只存在一次且只有一个值与之关联,因此您基本上只会说root = { id = 3 }
。