1 / 1 / 3
Регистрация: 02.04.2015
Сообщений: 169
|
|||||||||||||||||||||
1 | |||||||||||||||||||||
Ошибка при использовании перегруженного оператора вывода в поток: no match for 'operator<<'29.10.2015, 19:34. Показов 3933. Ответов 4
Метки нет (Все метки)
Пытаюсь написать класс комплексных чисел, но не могу сделать вот что:
Реализация метода conjugate:
И ещё такой вопрос, как сделать чтобы отображался знак мнимой части, по умолчанию ведь + не выводится, мой способ, просто для того чтобы "проверить" не более.
0
|
29.10.2015, 19:34 | |
Ответы с готовыми решениями:
4
Использование перегруженного оператора ввода/вывода в поток базового класса для объекта производного класса Ошибка при вызове в switch перегруженного оператора Перегрузка оператора сравнения ( no match for 'operator==' ) Синтаксическая ошибка при определении метода перегруженного оператора,за классом |
18843 / 9842 / 2408
Регистрация: 30.01.2014
Сообщений: 17,284
|
|
29.10.2015, 19:35 | 2 |
0
|
7792 / 6559 / 2984
Регистрация: 14.04.2014
Сообщений: 28,668
|
||||||
29.10.2015, 19:37 | 3 | |||||
Добавь ещё такой вариант:
0
|
1 / 1 / 3
Регистрация: 02.04.2015
Сообщений: 169
|
|
29.10.2015, 19:38 [ТС] | 4 |
Можно немного обьяснений, почему без const не работает и можете подсказать, как отобразить знак только мнимой части комплексного числа.
0
|
18843 / 9842 / 2408
Регистрация: 30.01.2014
Сообщений: 17,284
|
|||||||||||
29.10.2015, 19:44 | 5 | ||||||||||
Сообщение было отмечено bambique как решение
Решение
Потому что временный объект, который возвращает conjugate() (по-научному rvalue) нельзя привязывать к неконстантной ссылке. Это ограничение языка. Первоначальная причина запрета в предотвращении такого поведения:
Добавлено через 2 минуты И вообще. Старайся следовать логике. Функция operator<< меняет comp? Нет. Так почему же он неконстантный? В общем ошибка эта наталкивает тебя на более верный код. Никогда не пренебрегай const. Он твой друг
2
|
29.10.2015, 19:44 | |
29.10.2015, 19:44 | |
Помогаю со студенческими работами здесь
5
Ошибка при запуске проекта: error: no match for ‘operator>>’ Ошибка при использовании MATCH в запросе к SQLite Как преобразовать тип System::String ^ в string? (или что можно сделать ещё для работы перегруженного оператора ostream::operator<<) Вызов прегруженного оператора вывода в поток из аналогичного оператора Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |