Tôi đang sử dụng Lua làm ngôn ngữ kịch bản trong trò chơi (C++) của tôi. Trong một cuộc gọi (từ lua C++) tôi kiểm tra những gì loại là trên đỉnh của ngăn xếp:Trong C++ được gọi từ Lua, lua_type (L, 0) trả về 9 mà không được ghi lại
if(lua_type(L, (0)) == LUA_TSTRING)
Nhưng đôi khi lua_type (L, (0)) trả 9.
tôi không thể dường như tìm bất kỳ tham chiếu nào đến điều này (giá trị trả về phải nằm trong khoảng từ -1 đến 8 hoặc LUA_TNONE, LUA_TNIL, ... LUA_TTHREAD).
Điều gì đang xảy ra?
Ive tìm thấy sau trong lobject.h: '/ * thẻ tắm ** cho phi giá trị */ #define LUA_TPROTO \t LUA_NUMTAGS #define LUA_TUPVAL \t (LUA_NUMTAGS + 1) #define LUA_TDEADKEY \t (LUA_NUMTAGS + 2) ' đâu 'LUA_NUMTAGS' là 9 –