なぜこれで苦労しているのかわかりません。私がやりたいのはこれだけです:
class foo {
public:
foo(){}
~foo(){}
float a,b;
};
class foo2 {
public:
foo2(){}
foo2(const foo &f){*this = f;}
~foo2(){}
void operator=(const foo& f){
x = f.a;
y = f.b;
}
float x,y;
};
/* Usage(cpp):
foo f;
foo2 f2(f);
//or using the = operator
f2 = f;
*/
私が抱えている問題は、このコードをスウィッグした後、lua スクリプトを適切に実行する方法がわからないことです。
/* Usage(lua)
f = example.foo()
f2 = example.foo2(f) --error
*/
私が得るエラーは「オーバーロードされた関数 'new_Foo2' の間違った引数」です: 考えられる c/c++ プロトタイプは次のとおりです: foo2() foo2(foo const &)
do f2 = f を使用しようとすると、同じことが起こります。私が理解しているように、すべてがポインターとして格納されているため、fooへのポインターを使用するコンストラクターを追加しようとしましたが、役に立ちませんでした。