如何在不抛出错误的情况下检查userdata的类型

我正在为lua编写某些库(使用C ++),其中我使用某些自定义类型,例如:my_typemy_type是带有元表my_typeuserdata。我可以在库中(在C ++代码中)使用函数luaL_checkudata进行检查,它可以正常工作。但是!如果我使用luaL_checkudata(state,1,“my_type”)并且对象的类型不是my_type,它会抛出错误。因此,当我想检查类型而不是得到一个错误并仅得到truefalse时,我可以使用什么?函数lua_isuserdata不检查userdata的元表。

我使用的是Lua 5.1。

点赞