![]() |
|
Модераторы: bsa |
![]()
|
|
| neocpp |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 21.1.2013 Репутация: нет Всего: нет |
Необходимо создать что-то вроде аналога алгоритма find из STL. Вызов примерно такой:
Но главное вот что. Как реализовать функцию, чтобы вызов был возможен, только если третий параметр в точности соответствует типу элементов в контейнере? То есть, если vec - вектор значений int, а key - переменная типа double, то нужно, чтобы происходила ошибка компиляции. Первая попытка:
Тут value_type и iter_type вообще никак не связаны. Поэтому неявные преобразования выполняются, и ошибка может возникнуть только при *begin != key, если неявное преобразование между типами невозможно. Попытка вторая, переписал заголовок таким образом:
в надежде на то, что тип параметра key теперь будет зависеть от типа итератора. Но от преобразований это все-равно не спасает. Как вариант, конечно, можно передать обычную ссылку вместо константной... но это по сути нехорошо. Возможно ли еще какое-то решение этой проблемы? Это сообщение отредактировал(а) neocpp - 10.2.2013, 11:15 |
||||||
|
|||||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 16 Всего: 85 |
Можно, например так: если нет С++11, то в бусте это есть. |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
Или так
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| neocpp |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 21.1.2013 Репутация: нет Всего: нет |
volatile, спасибо, так получилось.
borisbnб, а ваш код не понял, к сожалению, и отрабатывает он также как и мой. Какую роль должен играть третий параметр? |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |