./lua/addtest.lua:9: attempt to index local 'testobj' (a userdata value)

2016 단어
내 방식:
exe - main ()에서
lua_pushlightuserdata(L,(void*)g_TestObj.get());// g_TestObj        lua_setfield(L, LUA_REGISTRYINDEX,"lua_testobj");

exe 호출 lua, lua 호출 dll, dll 호출 luaopenxxx 함수
lua_getfield(L, LUA_REGISTRYINDEX,"lua_testobj");CTestObj* pTestObj =static_cast<CTestObj*>( lua_touserdata(L,-1));
오류 보고
addTest.lua:9 attempt to index local 'testobj' (a userdata value)
몇 번의 시도:
발견
dll의 기타 함수 luagetfield () 는 틀리지 않습니다. luaopen 에만 있습니다.xxx()만 보고
뒤에 문서를 찾아봤는데,luatouserdata () 는 창고를 바꾸지 않습니다. (팝이 될 줄 알았는데)
그래서 luaopenxxx 뒤에 luapop(L, 1);
dll의 luaopenxxx는 더 이상 잘못 보고하지 않습니다:)
그러나
attempt to index local'testobj'(a userdata value) 오류

좋은 웹페이지 즐겨찾기