Я пытаюсь обернуть класс из библиотеки, которую я использую в Lua. В частности, я пытаюсь обернуть класс цвета из SFML. Полный источник для класса цвета можно увидеть here и here.Нет подходящей функции для вызова оператора new
Это функция, это что я неудачу в.
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;
}
И это ошибка
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
я подобные вещи в некоторых других местах, не работает в этой ошибки, поэтому я не уверен, что бы это вызвало. Глядя на исходный код Color, я не вижу ничего странного или необычного, и у меня заканчиваются идеи. Я также попытался использовать конструктор по умолчанию (т. Е. Никаких аргументов), а затем просто установил значение после этого, но это тоже не принесло пользы.
Это не связано с Lua. – lhf
Я не знал этого в то время. : P – Alex