Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
103 / 82 / 78
Регистрация: 11.05.2015
Сообщений: 201

Функторы

14.01.2016, 21:59. Показов 1820. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не могу понять в чем ошибка. Когда func вызывается в main все в порядке, а когда из функции test, то выдает ошибку "результатом вычисления фрагмента не является функция, принимающая 2 аргумента".

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <functional>
template <typename T>
void test(T lhs, T rhs, std::binary_function<T,T,bool>& func)
{
    func(lhs,rhs);
}
 
int main()
{
    int a = 10, b = 5;
    auto func = std::less<int>();
    func(a,b);
    test(a,b,func);
    return 0;
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.01.2016, 21:59
Ответы с готовыми решениями:

функторы
#include &lt;iostream&gt; class foo{ void operator ()(void){std::cout &lt;&lt; &quot;hi&quot;;} };

STL, функторы
Всем привет! Вообщем есть код: #include &lt;iostream&gt; #include &lt;algorithm&gt; #include &lt;vector&gt; int main() { ...

STL функторы, предикаты
У нас есть: std::multimap&lt;std::string,std::string&gt; map; нужно удалить все повторяющиеся ключи, используя алгоритм с предикатом. ...

3
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
14.01.2016, 22:02
ivan37, Сам std::binary_function никаким функтором не является.
Можете считать, что std::binary_function, это некий флажок у типа,
что он является функтором с двумя аргументами и предоставляет необходимый псевдонимы.

P.S. В C++11 оно уже deprecated.
0
103 / 82 / 78
Регистрация: 11.05.2015
Сообщений: 201
14.01.2016, 22:17  [ТС]
Croessmah, Что мне нужно сделать, чтобы в функцию в качестве аргументов можно было передавать объекты типа std::less<T> и std::greater<T>?
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
14.01.2016, 22:21
Лучший ответ Сообщение было отмечено ivan37 как решение

Решение

C++
1
2
3
4
5
template <typename T, typename Func>
void test(T lhs, T rhs, Func func)
{
    func(lhs,rhs);
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.01.2016, 22:21
Помогаю со студенческими работами здесь

Стандартные функторы-адаптеры
Добрый вечер! Хочу отсортировать контейнер, заполненный указателями на объекты класса Class, критерий сортировки - метод этого класса. При...

Функторы, алгоритмы и адаптеры
Нужна помощь! 1 Нужно создать multimap и multiset на основе элементов типа класса CPerson, содержащий в своем классе следующие...

Функторы и алгоритмы stl
Добрый день! Интересует такой вопрос. Я хочу, используя стандартный алгоритм стл for_each() и функтор, определить наибольший элемент в...

Шаблоны и функторы как callback для класса свойства объекта. Код работает - но не должен
Здравствуйте! Хочу написать реализацию класса свойства на шаблоне. Т.е есть объект, он инициирует необходимые проперти, в графическом...

функторы && STL
Знакомлюсь с функторами. Помогите реализовать поиск минимального числа в последовательности, средн.арифмет. в посл-ти и количество...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru