АШ
Александер Шевцов

Перегрузка оператора c++

Класс комплексных чисел
перегрузка постфиксного инкремента
Complex Complex::operator++(int)
{
Complex tmp(*this);
++(*this);
return tmp;
}
в main
c2 = c1++;

Перегрузка присваивания
Complex &Complex::operator=(Complex &c1)
{
re=c1.re;
im=c1.im;
return *this;
}
ошибка: no match for 'operator=' in 'c2 = Complex::operator++(int)(0)'

Мой.. . опрератор делает всё норм! Я перегрузил постфиксный инкремент с помощью префиксного. И вообще, если добавить ссылку в возвращаемом типе, то прога запускается, но получается, что возвращается локальный объект и данные теряются

Наталья
Наталья

это.... логично, т. к. твой оператор ++ делает комплексный ++,что приводит нас к неразмыкаемой рекурсии.

Похожие вопросы
Перегрузка операторов C#
Перегрузка операторов C++
Как осуществить перегрузку оператора * в C++?
Вопрос по с++ ( Перегрузка операторов в классах)
перегрузка оператора присваивания:
Помогите с условными операторами C#
Перегрузка операторов
Перегрузка операторов 2
C++. Перегрузка операторов.
Оператор C# Объясните доступным языком пожалуйста что значит оператор ^=