0
私はLuaスクリプトに整数のリストを与え、それらを反復しようとしています。Sol2がベクトルを反復処理できない
私は取得していますエラーは次のとおりです。
test.lua:12: bad argument #1 to 'pairs' (table expected, got userdata) stack traceback: [C]: in function 'pairs' test.lua:12: in main chunk
使用されているC++コード:
#include <sol.hpp>
struct Test {
std::vector<int> a;
};
int main(void) {
sol::state lua;
lua.open_libraries(sol::lib::base);
lua.new_usertype<Test>("test",
"a", &Test::a);
lua.script_file("test.lua", [](lua_State* L, sol::protected_function_result pfr) {
sol::error err = pfr;
std::cout << err.what() << std::endl;
return pfr;
});
}
のLuaスクリプト:
t = test.new()
for i in pairs(t.a) do
print(i)
end