1

全部。通过使用 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]的所有元素,但它只输出最后一个及以上。

谢谢你,杰森:)

4

1 回答 1

2

root 没有多个元素,它只有一个。您将键分配id给三个不同的值,但键只存在一次,并且只有一个与之关联的值,所以您基本上只说过root = { id = 3 }.

于 2011-07-17T13:27:25.147 回答