如何将C++联合公开给Lua

Orf*_*fby 7 c++ lua unions

对于我正在研究的项目,我需要将另一个库中的一些C++类暴露给Lua.不幸的是,这个库中最重要的一个类有很多Unions和Enums(来自SFML的sf :: Event类),而且我从快速的Google搜索中发现,没有什么可以将C++ Unions暴露给Lua.我不介意它是用Lua/C API,库还是绑定生成器公开,只要它有效.但是,我不想使用绑定生成器,因为我希望能够在C++中创建一个对象,然后将该对象的实例暴露给Lua(除非可以使用绑定生成器)

Ali*_*ice 0

如果您愿意使用 boost::variant 而不是联合,您可以尝试使用我的LuaCast库。

我也会尝试添加联合作为基本类型。