Форум программистов, компьютерный форум CyberForum.ru

Как передать "operator<" в функцию? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Заполнение массива рассчитанными значениями http://www.cyberforum.ru/cpp-beginners/thread1016902.html
Мне нужно заполнить массив значениями M=Sin(n), где n=1,2,3...,50. У меня в массив записывается только первое значение double s, n; double Aarray = new double; for (int i = 0; i < 50; i++) { for (n = 1; n <= 50; n++ ) { Aarray = Math.Sin(n);
C++ Найти сумму площадей всех треугольников отдельно помогите решить: В текстовом файле хранятся записи вида: T abc - стороны треугольника (условие существования треугольника выполняется). V k - коэффициент подобия. Найти сумму площадей всех треугольников отдельно. http://www.cyberforum.ru/cpp-beginners/thread1016901.html
C++ Удалить элементы списка, что принадлежат промежутку
помогите решить задачу: Дано целочисленный список F = <1,8,9,0,1,3,2,4,1,12,23,1,23,2,19,1>. Удалить элементы принадлежат промежутку (a; b), если задаются с клавиатуры.
C++ Не могу сделать лабу
Помогите решить задание Описати функцію, що здійснює циклічний зсув на n позицій праворуч елементів цілочисельного масиву, що містить m елементів (n<m).
C++ Подобие MessageBox выводящего INT и LPCSTR . Не тупо ли ? http://www.cyberforum.ru/cpp-beginners/thread1016891.html
Привыкшему к удобствам PHP с++ нубу захотелось сделать такое вот извращение.. Функция выводит текст как INT типа так и строкового типа... template< typename mytype > void pre(mytype var) { LPCSTR str; const char * type = typeid(var).name(); if (!strcmp("int", type)) { char buffer;
C++ Ввод строк на с++ Есть задание. Вводить с клавиатуры строки, пока не будет введено 5 строк, заканчивающихся любыми шестнадцатеричных цифр. Вывести все введенные строки и строки, соответствующие требованиям задания. Отсортировать строки. Вывести длинный строку (строки, если их несколько). Есть код. #include <iostream.h> #include <conio.h> #include <ctype.h> //обработка символов #include <string.h>... подробнее

Показать сообщение отдельно
trympyrym
0 / 0 / 0
Регистрация: 13.08.2013
Сообщений: 17
24.11.2013, 03:54     Как передать "operator<" в функцию?
Есть шаблонная функция, которая принимает компаратор. Как передать в качестве этого компаратора operator< ?

Тестовый пример: обернутый "operator<" работает, а необернутый - не работает.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
 
struct comparator
{
    bool operator()(int a, int b)
    {
        return a < b;
    }
};
 
template <class Compare>
void function(Compare &comp)
{
    cout << comp(1, 2) << endl;
    cout << comp(2, 1) << endl;
}
Если после этого пишу:

C++
1
2
3
4
5
int main() {
    comparator QWE;
    function(QWE);
    return 0;
}
то все работает, а если пишу:

C++
1
2
3
4
int main() {
    function(operator<);
    return 0;
}
то не работает(
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru