Sto usando Lua come linguaggio di scripting nel mio gioco (C++). In una chiamata (da lua a C++) verifico che tipo è in cima alla pila:In C++ chiamato da Lua, lua_type (L, 0) restituisce 9 che non è documentato
if(lua_type(L, (0)) == LUA_TSTRING)
Ma a volte lua_type (L, (0)) restituisce 9.
non posso sembra trovare alcun riferimento a questo (i valori restituiti devono essere compresi tra -1 e 8 oppure LUA_TNONE, LUA_TNIL, ... LUA_TTHREAD).
Cosa sta succedendo?
Ive ha trovato quanto segue in lobject.h: '/ * ** tag aggiuntivo per i non-valori */# define LUA_TPROTO \t LUA_NUMTAGS #define LUA_TUPVAL \t (LUA_NUMTAGS + 1) #define LUA_TDEADKEY \t (LUA_NUMTAGS + 2) ' Dove' LUA_NUMTAGS' è 9 –