![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| niknor |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 21.4.2006 Где: РОССИЯ, Набережны е челны Репутация: нет Всего: нет |
Не подскажете Почему возникает ошибка
и как её исправить
|
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
Потому что оператор == должен возвращать bool или нечто, приводимое к bool.
-------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| EvgenZ |
|
|||
![]() Freedom in me ![]() ![]() Профиль Группа: Участник Сообщений: 407 Регистрация: 3.8.2006 Репутация: 1 Всего: 11 |
у меня нормально компилирует
-------------------- <удалено администрацией форума> |
|||
|
||||
| niknor |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 21.4.2006 Где: РОССИЯ, Набережны е челны Репутация: нет Всего: нет |
EvgenZ, А почему у меня нет?? |
|||
|
||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
Во-первых bool должен возвращать operator==, во-вторых зачем он объвлен как friend? Зачем это?
|
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
| niknor |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 21.4.2006 Где: РОССИЯ, Набережны е челны Репутация: нет Всего: нет |
Вот весь текст:
|
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
| niknor |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 21.4.2006 Где: РОССИЯ, Набережны е челны Репутация: нет Всего: нет |
Ну я bool и возвравщаю
|
|||
|
||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
Daevaorn, нарушение принципов ООП
|
|||
|
||||
| niknor |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 21.4.2006 Где: РОССИЯ, Набережны е челны Репутация: нет Всего: нет |
Но ведь он(==) ничего не меняет в закрытых переменных класса |
|||
|
||||
| Xenon |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
niknor, ты нарушуешь инкапсуляцию данных.
Если метод ничего не меняет, его нужно объвлять как const, а не как friend Где тут bool?
Так делай (в классе тоже поменяй и вообще все перегрузки операторов перепиши)
Это сообщение отредактировал(а) Xenon - 22.10.2006, 20:18 |
||||
|
|||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
-------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
Если в сигнатуре не указан тип, то возвращается int, а не bool
|
|||
|
||||
| niknor |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 21.4.2006 Где: РОССИЯ, Набережны е челны Репутация: нет Всего: нет |
Ну так вот учут в университете Добавлено @ 20:24 Всем спасибо |
|||
|
||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
Кошмар какой-то
|
|||
|
||||
| niknor |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 21.4.2006 Где: РОССИЯ, Набережны е челны Репутация: нет Всего: нет |
да
|
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
1. В данном случае он указан (Matr) 2. int можно (хотя вряд ли нужно) возвращать, он неяно приводится к bool 3. В C++ (не в C) если взовращаемый тип не указан, значит компилятор должен грязно ругнуться. |
|||
|
||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
Любитель, а, да, указан, но все равно это не bool
Ругаться будет не будет, но работать должно |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Ну, если ISO Strict поставить, то ругаться будет очень даже.
Ну и вообще - что, сложно правильный тип поставить?... |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Плюсы не должны (работать). Или выкинь твой компилер. |
|||
|
||||
| EvgenZ |
|
|||
![]() Freedom in me ![]() ![]() Профиль Группа: Участник Сообщений: 407 Регистрация: 3.8.2006 Репутация: 1 Всего: 11 |
Любитель, предлагаешь удалять Вижл 2005 ? Он все гладко скомпилил.
-------------------- <удалено администрацией форума> |
|||
|
||||
| a_n_d_y |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 23.10.2006 Где: Ukraine::Kiev Репутация: 1 Всего: 1 |
Ты случайно не перепутал friend с const??? |
||||
|
|||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
EvgenZ, ?
|
|||
|
||||
| EvgenZ |
|
|||
![]() Freedom in me ![]() ![]() Профиль Группа: Участник Сообщений: 407 Регистрация: 3.8.2006 Репутация: 1 Всего: 11 |
ругается много на что, в том числе и на возвращаемое значение. Дома все гуд компилила -------------------- <удалено администрацией форума> |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Что скомпилил? Я говорил не про то, что было приведено (хотя и там ошибки), а про функции, в которых не указано возвращаемое значение. В сях это было бы нормально, юзался бы инт, но в плюсах - ни в коем случае. Кстати, если речь про VC++ 2005 (а про что же ещё |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |