Мне нужно преобразовать из одной структуры в другую с похожими переменными. Я тестирую это на примере двух структур, которые имеют два ints.Как конфертировать из одной структуры в другую структуру?
По какой-то причине он не присваивается правильно, я считаю, что он отправляет локальную копию, которая затем освобождается? Что я делаю не так?
Спасибо!
#include <iostream>
using namespace std;
struct a
{
int x, y;
a(){}
a(int _x, int _y)
{
x = _x;
y = _y;
}
};
struct b
{
int x, y;
b(){}
b(int _x, int _y)
{
x = _x;
y = _y;
}
b& operator=(const a& _a)
{
return b(_a.x, _a.y);
}
};
int main()
{
a a_test(1,2);
b b_test;
b_test = a_test;
std::cout << "a: " << a_test.x << "," << a_test.y << endl;
std::cout << "b: " << b_test.x << "," << b_test.y << endl;
return 0;
}
Быстрый вопрос. Как я буду делать то же самое для struct a (поскольку пока не было объявления b)? Danke! – user2122589
@ user2122589 Я отредактировал ответ с ответом на ваш вопрос. – rozina