![]() |
|
|
![]()
|
|
| cooper123 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 30.7.2007 Репутация: нет Всего: нет |
нашел вопрос который меня интересует тут
http://forum.vingrad.ru/forum/topic-154147...try1151357.html там пример кода. насчет функций сравнений они всегда должны быть глобальными?? почему нельзя структуру определить как класс и в классе задать функцию сравнения, было бы намного удобней. и если так можно то как ее передавать в макс_елемент??? сенкс |
|||
|
||||
| volvo877 |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2073 Регистрация: 15.11.2004 Репутация: 13 Всего: 116 |
Ммм... Скажем, вот так:
|
||||
|
|||||
| Rififi |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: 1 Всего: 36 |
по Стандарту, локальный тип не может быть использован в качестве аргумента шаблона
|
|||
|
||||
| cooper123 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 30.7.2007 Репутация: нет Всего: нет |
ну это уже что то.
но мне еще и мин_елемент надо и там новый оператор нужен. оператор > почему то унарный и в таком плане не перегружается. а использовать другие для этой цели это же потом сам фиг догадаешься о чем речь идет. а с функциями никак? тем не менее спасибо. |
|||
|
||||
| Rififi |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: 1 Всего: 36 |
это просто поток сознания или спросить что-то хотел? ибо я ничего не понял. |
|||
|
||||
| volvo877 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2073 Регистрация: 15.11.2004 Репутация: 13 Всего: 116 |
С чего бы? Что,
не выдаст тебе минимальный элемент по тому же признаку? Ошибаешься, выдаст... В приведенном примере - 0. |
|||
|
||||
| cooper123 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 30.7.2007 Репутация: нет Всего: нет |
можно использовать статические функции
class my_class(){ .... static bool compar(const el& el_1, const el& el_2){ return (el_1 > el2); } min_element(my_class.begin(),my_class.end(),my_class::compar); Это сообщение отредактировал(а) cooper123 - 2.6.2008, 14:10 |
|||
|
||||
| Vyacheslav |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
А может все гораздо проще: просто переопределяем оператор <
Добавлено @ 14:41 Ну вообще то тоже решение, но скажем весьма странное. Фактически Вы предложили объединть функциональности структуры хранения данных с предикатом. То есть здесь
фактически имеем создание нового экземпляра структуры stSOME() только для того, что бы был задействован его( экземпляра) оператор () Фактически код можно было записать так
Тогда уж логичнее было обЪявить статическую функцию -------------------- С уважением, Вячеслав Ермолаев |
||||||
|
|||||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |