Я не знаю, почему мне тяжело с этим. Все, что я хочу сделать, это:
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, но безрезультатно.