Почему я не могу вернуть LuaObject в функцию при использовании LuaPlus?

Я следую примеру в Game Coding Complete 4th Edition, в котором используется LuaPlus.

В этом примере и в любом коде, который я пробовал сам, я не могу зарегистрировать функцию в lua, если она имеет возвращаемое значение LuaObject.

LuaObject myClass::CreateFromScript(void)
{
Player* pCppInstance = new Player();

LuaObject luaInstance;
luaInstance.AssignNewTable(pLuaState);

luaInstance.SetLightUserData("__object", pCppInstance);

LuaObject metaTable = pLuaState->GetGlobals().GetByName("Players");
luaInstance.SetMetaTable(metaTable);

return luaInstance;
}

а также

globals.RegisterDirect("createPlayer", &myClass::CreateFromScript);

и в .ч

static LuaObject                CreateFromScript(void);

Ошибка всегда происходит, когда я устанавливаю возвращаемое значение LuaObject. Вот почему я не смог сделать это раньше, когда попытался вернуть LuaObject с другой функцией в моем коде.

error: LuaPlusCD.h (line 158)
"no matching function for call to 'Push(lua_State*&, LuaPlus::LuaObject&)'

0

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]