2011-07-17 3 views
1

모두. luabind를 사용하여 lua 스크립트에서 배열을 읽음으로써 낯선 문제가 발생했습니다.루아 바인드 0.9.1 반복자는 항상 마지막 객체를 팝업합니다.

은 루아 스크립트는 다음과 같다 :

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

및 C++ 코드는는 다음과 같다 : luabind :: 오브젝트 data_root = luabind :: 전역 (L) "루트"];

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; 
} 

출력 전용입니다.

는 단지 하나를 가지고, 제이슨 :

답변

2

루트의 여러 요소가되지 않습니다 감사합니다. id 키를 세 가지 다른 값에 할당했지만 키는 한 번만 존재하며 값이 하나만 있기 때문에 기본적으로 root = { id = 3 }이라고합니다.

+0

대단히 감사합니다! :) –