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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
HenryDukart
122 / 122 / 35
Регистрация: 05.10.2013
Сообщений: 455
Завершенные тесты: 2
#1

Функция упорядочивания элементов set - C++

18.04.2014, 20:16. Просмотров 356. Ответов 3
Метки нет (Все метки)

Возникла проблема на классах (элементами сет были классы). Но я попробовал такую вещь с int, и появилась та же ошибка.
C++
1
2
3
4
bool com (const int& a, const int& b)
{
    return a<b;
}
Эта функция сравнения двух чисел. Теперь пытаюсь создать множество
C++
1
set<int, com> s;
но компилятор выдает ошибку:
Код
error C2923: std::set: "com" не является допустимым аргументом типа шаблон для параметра "_Pr"
Помогите, пожалуйста, разобраться. Кстати, с функторами работает.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2014, 20:16     Функция упорядочивания элементов set
Посмотрите здесь:

Set своих элементов и функция lower_bound - C++
Создал структуру &quot;segments&quot; и написал для неё оператор &quot;&lt;&quot;: bool operator&lt;(segment a, segment b) { return a.left &lt; b.left; } То...

Составить программу упорядочивания элементов таблицы - C++
1.Дан линейный массив из n элементов. Составить программу упорядочивания элементов таблицы 2.Вывести на экран информацию о компьютерах,...

Разработать функцию для упорядочивания элементов структуры Girls по дате рождения - C++
Разработать структуру Girls, содержащую поля: -фамилия и имя; -номер телефона; -дата рождения (массив из трех чисел). -цвет волос...

STL контейнер set, вставка элементов - C++
Уважаемые админы.Снова прошу о помощи. Необходимо в множество bred,начиная с позиции n, вставить элементы из множества new_bred. ...

Доходя до упорядочивания строк, программа перестает работать - C++
#include &lt;iostream.h&gt; #include &lt;string.h&gt; #include &lt;stdlib.h&gt; #include &lt;windows.h&gt; int main () { struct str { char...

Определить номер минимального простого числа до и после упорядочивания массива - C++
Упорядочить массив целых положительных чисел по возрастанию, определить номер минимального простого числа до и после упорядочивания...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Меорн
74 / 59 / 29
Регистрация: 01.02.2014
Сообщений: 202
18.04.2014, 21:03     Функция упорядочивания элементов set #2
C++
1
2
3
4
5
6
struct com {
    bool operator()(const int& a, const int& b)
    {
        return a < b;
    }
};
Visual Studio Eng + гугл рулят...
HenryDukart
122 / 122 / 35
Регистрация: 05.10.2013
Сообщений: 455
Завершенные тесты: 2
18.04.2014, 22:12  [ТС]     Функция упорядочивания элементов set #3
Меорн, я написал, что с функтором работает. Интересует вопрос, почему не проходит с функцией.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.04.2014, 22:44     Функция упорядочивания элементов set
Еще ссылки по теме:

Массив и функция (количество нечетных элементов массива, минимальный из элементов и его номер) - C++
Кто добр в душе и может помочь,очень прошу-не откажите девушке!!! Целочисленный массив из N элементов заполнить случайными значениями...

Упорядочить массив целых положительных чисел по возрастанию, определить но- мер минимального простого числа до и после упорядочивания массива - C++
Упорядочить массив целых положительных чисел по возрастанию, определить но- мер минимального простого числа до и после ...

Упорядочить массив целых положительных чисел по возрастанию, определить номер минимального простого числа до и после упорядочивания массива - C++
Упорядочить массив целых положительных чисел по возрастанию, определить номер минимального простого числа до и после упорядочивания...

Функция должна вычислять число положительных элементов массива и число элементов больших вычисленного числа - C++
Функция должна вычислять число положительных элементов массива и число элементов больших вычисленного числа

Функция - сортировка элементов - C++
Функция находит два крайних положительных числа и сортирует массив слева от левого элемента, и справа - от правого. Функция НИЧЕГО НЕ...

Функция должна вычислять разницы между суммой положительных элементов массива и суммой модулей отрицательных элементов массива - C++
Разработать функцию ,обрабатывающую массив и вычисляющую две величины.Кроме того,разработать две функции,которые вычисляют те же самые...


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

Или воспользуйтесь поиском по форуму:
Меорн
74 / 59 / 29
Регистрация: 01.02.2014
Сообщений: 202
18.04.2014, 22:44     Функция упорядочивания элементов set #4
Потому что в мануале написано "This can be a function pointer or a function object " либо указатель на функцию, либо функтор - http://www.cplusplus.com/reference/set/set/
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <set>
#include <algorithm>
 
    bool com(const int& a, const int& b)
    {
        return a > b;
    };
 
int main()
{
    bool(*fn_pt)(const int&,const int&) = com;
    std::set<int, bool(*)(const int&,const int&)> s (com);
    s.insert(5);
    s.insert(1);
    s.insert(7);
}
Yandex
Объявления
18.04.2014, 22:44     Функция упорядочивания элементов set
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru