Sto provando a racchiudere una classe da una libreria che sto utilizzando in Lua. Specificamente, sto provando a racchiudere la classe di colore da SFML. L'origine completa per la classe di colori può essere vista here e here.Nessuna funzione corrispondente per la chiamata all'operatore new
Questa è la funzione che è che io sto venendo meno.
int SFColor_new(lua_State* L)
{
// omitting part where I set r, g, b, and a
new (lua_newuserdata(L, sizeof(Color))) Color(r, g, b, a); // Line 47
luaL_getmetatable(L, LuaInfo<Color>::myMetaTableName);
lua_setmetatable(L, -2);
return 1;
}
E questo è l'errore
LuaSFMLColor.cpp: In function ‘int ag::SFColor_new(lua_State*)’:
LuaSFMLColor.cpp:47: error: no matching function for call to ‘operator new(unsigned int, void*)’
<built-in>:0: note: candidates are: void* operator new(unsigned int)
make: *** [game] Error 1
faccio cose simili in pochi altri posti senza incorrere in questo errore, quindi non sono sicuro di cosa lo causerebbe. Guardando il codice sorgente del colore, non vedo nulla di strano o fuori dall'ordinario, e ho esaurito le idee. Ho anche provato ad usare il costruttore di default (cioè senza argomenti) e poi solo a settare il valore in seguito, ma anche questo non ha funzionato.
Questo non è correlato a Lua. – lhf
Non lo sapevo al momento. : P – Alex