我正在尝试使用LuaBridge注册从同一个类继承的两个类,但是失败了。
如何在下面注册三个课程?
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。
非常感谢任何帮助。
答案 0 :(得分:3)
getGlobalNamespace(L)
.beginClass<A>("A")
.addConstructor()
.endClass()
.deriveClass<B1, A>("B1")
.addConstructor()
.endClass()
.deriveClass<B2, A>("B2")
.addConstructor<void(*)(void)>()
.endClass()