奇妙な問題複数のクラスを使用するプログラムがあります.これらのクラスのいくつかは他のクラス内のオブジェクトを定義するために使用されますが、それらの値を変更することはできません.
C++ ファイル
class A{
public:
A(){
c = 0
}
int c;
};
class B{
public:
A d;
};
luabridge::getNamespace(L)
.addNamespace("test")
.addClass<A>("A")
.addConstructor<void(*) ()>()
.addData("c", &A::c)
.endClass()
.addClass<B>("B")
.addConstructor<void(*) ()>()
.addData("d", &A::d)
.endClass()
.endNamespace();
今私たちが持っているluaファイルに
var = test.B()
var.d.c = 2
print(var.d.c)
そしてプログラムは印刷します
0
Aのコンストラクターがcを666に設定するかどうかを明確にするために、プログラムは666を出力します