![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| IValdemar |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 10.1.2012 Репутация: нет Всего: нет |
Собственно вот в чем проблема:
у меня в программе есть такая строчка
В ошибке говорится, что он не может понять какой оператор == использовать candidates are: bool POINT_R2::operator==(POINT_R2&) BOOL operator==(const GUID&, const GUID&) Подскажите как можно объяснить компилятору что надо использовать первый вариант класс POINT_R2 описан в отдельном header'e там оператор сравнения определен таким образом
Я так понимаю тут что-то с namespace надо намудрить, так как если я делаю в header'e такую функцию
и сравниваю ей, то все работает. |
||||||
|
|||||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
IValdemar, покажите все описание POINT_R2
|
|||
|
||||
| IValdemar |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 10.1.2012 Репутация: нет Всего: нет |
Вот полное описание
|
|||
|
||||
| volatile |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
добавьте здесь конст. Полюбому он здесь нужен, скорей всего и проблема решится
Это сообщение отредактировал(а) volatile - 20.3.2012, 23:19 |
||||
|
|||||
| IValdemar |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 10.1.2012 Репутация: нет Всего: нет |
volatile
Большое спасибо, проблема исчезла. Но мне все таки не понятно, почему const решил все проблемы? В общем можно это по подробнее освятить, дабы я понял зачем он там добавляется. Я знаю что const добавляют там где элемент не должен меняться, это является хорошим тоном, то есть по идее тут он как раз к месту, но почему без него вылетает ошибка? Это ведь не более чем хороший тон программирования. Это сообщение отредактировал(а) IValdemar - 20.3.2012, 23:28 |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
В принципе в вашем коде, верней в том виде как вы его привели, ошибки быть не должно. Телепатически я просто подумал, что где-то константность появляется. может быть где-то здесь: Чисто асбстрактно, если все писать плохим стилем, (и не использовать библиотеки написанные хорошим стилем), то без константности можно обойтись. Хотя этого делать категорически не рекомендуется! Мой вам совет ставьте константость, везде где объект не меняется, не пожалеете. Кстати, в вашем коде это не единственное место, где не помешало бы добавить константность. |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
Вы уверены что привели ошибочную строчку верно ? может там сравнивается возвращаемое из функции ? Добавлено через 4 минуты и 49 секунд полагаю Ваша ошибка неподолеку от этого примера : http://liveworkspace.org/code/3e95956bea39...9273c3bb0fdff6c Добавлено через 6 минут и 17 секунд и в след. раз желательно сообщение об ошибке и саму строчку передавать точно, а не своими словами.. а еще лучше сделать минимальный пример , демонстрирующий ошибку... |
|||
|
||||
| IValdemar |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 10.1.2012 Репутация: нет Всего: нет |
Такс, хотел сделать чистый пример и показать вам ошибку. НО! Как я ни изощрялся не получилось у меня сделать там ошибку
Что-то я там напортачил Всем спасибо за участие и помощь. Тему закрываю. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |