我正在尝试使用 LuaBridge 注册两个继承自同一类的类,但失败了。
如何注册以下三个类(class)?
class A { public: int x; }; class B1 : public A { public: int y; }; class B2 : public A { public: int z; };
我可以这样注册A和B1
getGlobalNamespace(L) .beginClass<A>("A") .addConstructor() .endClass() .deriveClass<B1, A>("B1") .addConstructor<void(*)(void)>() .endClass()
和
getGlobalNamespace(L) .beginClass<A>("A") .addConstructor() .endClass() .deriveClass<B1, A>("B1") .addConstructor() .endClass() .deriveClass<B2, A>("B2") .addConstructor<void(*)(void)>() .endClass()
结果注册 B2 就好像它继承自 B1。
非常感谢任何帮助。
最佳答案
getGlobalNamespace(L)
.beginClass<A>("A")
.addConstructor()
.endClass()
.deriveClass<B1, A>("B1")
.addConstructor()
.endClass()
.deriveClass<B2, A>("B2")
.addConstructor<void(*)(void)>()
.endClass()
关于c++ - 如何使用 LuaBridge 注册从同一个类继承的两个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22447347/