lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


The lua_pushobject macro you mentioned uses the C++ placement new operator [1] to call constructor of the object.

Your code does not call constructor of the object.


On Sun, Feb 23, 2014 at 7:03 PM, Victor Bombi <> wrote:

May be someone could help me to understand.

I have used lua_pushobject described in

I am not able to understand the difference between:

soundFileSt *sndf = (soundFileSt *)lua_newuserdata(L, sizeof(soundFileSt));
luaL_getmetatable(L, "soundFileSt ");
lua_setmetatable(L, -2);


soundFileSt *sndf = (soundFileSt *)lua_pushobject(L, soundFileSt)();

They must be different because the first makes my module to crash but not the second.

Thank you for your attention
victor bombi