C++ 使用lua_error和LuaJIT跳过堆栈对象析构函数?

C++ 使用lua_error和LuaJIT跳过堆栈对象析构函数?,c++,memory-leaks,lua,destructor,luajit,C++,Memory Leaks,Lua,Destructor,Luajit,我用MSVC x64编译了LujIT,这意味着应该有完全的C++异常互操作性。 一个观点指出,“在C++框架上抛出LUA错误是安全的。将调用C++析构函数。” 我假设这意味着我可以在C++函数中使用LuaAube错误,而不用担心堆栈上的对象: struct Test { Test() {std::cout<<"Constructor"<<std::endl;} ~Test() {std::cout<<"Destructor"<<st

我用MSVC x64编译了LujIT,这意味着应该有完全的C++异常互操作性。

一个观点指出,“在C++框架上抛出LUA错误是安全的。将调用C++析构函数。”

我假设这意味着我可以在C++函数中使用LuaAube错误,而不用担心堆栈上的对象:

struct Test
{
    Test() {std::cout<<"Constructor"<<std::endl;}
    ~Test() {std::cout<<"Destructor"<<std::endl;}
};

int some_function(lua_State *l)
{
    Test t {};
    lua_pushstring(l,"error message");
    lua_error(l);
    return 0;
}
struct测试
{

Test()。