Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ luabind 0.9.1迭代器始终只弹出最后一个对象_C++_Luabind - Fatal编程技术网

C++ luabind 0.9.1迭代器始终只弹出最后一个对象

C++ luabind 0.9.1迭代器始终只弹出最后一个对象,c++,luabind,C++,Luabind,全部。通过使用luabind从lua脚本读取数组,我遇到了一个奇怪的问题 lua脚本如下所示: root = { id = 1, id = 2, id = 3 }; 和C++代码看起来是这样的: luabind::objectdata_root=luabind::globals(L)[“root”] 我想输出[root]的所有元素,但它只输出最后一个元素 谢谢你,Jason:)root没有多个元素,它只有一个。您将键id分配给三个不同的值,但是

全部。通过使用luabind从lua脚本读取数组,我遇到了一个奇怪的问题

lua脚本如下所示:

root = 
{
        id = 1,
        id = 2,
        id = 3
};

和C++代码看起来是这样的: luabind::objectdata_root=luabind::globals(L)[“root”]

我想输出[root]的所有元素,但它只输出最后一个元素


谢谢你,Jason:)

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

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