C2664 «Невозможно преобразовать из const в & amp;» при попытке выставить классы Луа

Я пытаюсь выставить два класса Lua, используя LuaBridge. Эти классы Sprite а также Texture это выглядит примерно так:

class Texture
{
public:
Texture(const std::string& filename);
...
}

class Sprite
{
public:
Sprite(Texture& texture);
...
}

Теперь я пытаюсь привязать их к Lua следующим образом:

lua_State* L = ...;
luabridge::getGlobalNamespace(L)
.beginClass<Texture>("Texture") // No ctor exposed, just the class
.endClass()
.beginClass<Sprite>("Sprite")
.addConstructor<void(*)(Texture&)>() // This causes the error
.endClass();

Однако это приводит к следующей ошибке компиляции:

C2664: cannot convert argument 1 from 'const Texture' to 'Texture &'

Почему я получаю эту ошибку и как ее исправить?

3

Решение

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

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


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