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

Использование bind2nd - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Тетрис на mvc http://www.cyberforum.ru/cpp-beginners/thread1214709.html
Здрасти евриван) Как Вы? Все у Вас в порядке?) Думаю да) А я опять к Вам со своими проблемами( Наверное уже достал Вас хи-хи) Ладно, сразу к теме Итак, хочу реализовать Тетрис. Когда-то давно я его писал, и в принципе все меня устраивало, пока не прочитал про рефакторинг, паттерны, каркасы и тд. Я понял, что код мой - это ужас!) Решил заняться плотно каркасом MVC и реализовал несколько...
C++ Найти минимальное в произведении чисел Ребята помогите, т. к. что то не пойму! Нужно найти минимальное в произведении чисел!!!! # include <iostream> # include <ctime> using namespace std; void main () { const int N=16; int mas ; int sum=0, min=0; http://www.cyberforum.ru/cpp-beginners/thread1214708.html
C++ Отсортировать по убыванию положительные элементы массива методом обмена
Отсортировать по убыванию положительные элементы массива методом обмена
Ребята пожалуйста , переписать с С++ на Си ! ! Спасибо! C++
#include <fstream> #include <bitset> #include <sstream> #include <sys/time.h> #include <string> #include <iostream> #include <stdlib.h> using namespace std;
C++ Почему не могу заполнить массив символом ? http://www.cyberforum.ru/cpp-beginners/thread1214685.html
Ест char массив. Не могу заполнить все значения массива звездочкой. * int main() { char val='*'; char q ='q'; const int s=3; char arr; int k=0; int i=0;
C++ Возможен ли большой шрифт в консоли Не знаю ли такое возможно, но можно поменять шрифт в 3 раза больше чем стандартний подробнее

Показать сообщение отдельно
andrejap
13 / 13 / 1
Регистрация: 21.04.2013
Сообщений: 245
23.06.2014, 00:22     Использование bind2nd
Доброй ночи! Помогите, пожалуйста, разобраться с биндерами.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
#include <algorithm>
#include <iterator>
#include <functional>
#include <vector>
#include <cstdlib>
#include <ctime>
 
using namespace std;
 
typedef const int first_argument_type;
typedef const int second_argument_type;
typedef bool result_type;
 
result_type isBuzz(first_argument_type v, second_argument_type d);
 
int main() {
    srand(time(0));
    vector<int> vi(15);
    for (auto& x : vi) x = rand() % 100;
 
    //putting out unchanged values
    for (const auto& x : vi) cout << x << endl;
 
    //setting adapter
    const int d = 5;
    for_each(vi.cbegin(), vi.cend(), bind2nd(isBuzz(), d));
 
    //putting out changed values
    cout.fill ('_');
    for (const auto& x : vi) {
        cout.width(5);
        cout << x << endl;
    }
    return 0;
}
 
result_type isBuzz(first_argument_type v, second_argument_type d) {
    if (v%d == 0)
        return true;
    else
        return false;
}
Хотелось бы понять как правильно "тайпдефить" адаптируемую функцию?.. И поясните ошибку, плз:
clang++ -std=c++11 -O2 16_0.cxx
16_0.cxx:27:43: error: no matching function for call to 'isBuzz'
for_each(vi.cbegin(), vi.cend(), bind2nd(isBuzz(), d));
^~~~~~
16_0.cxx:15:13: note: candidate function not viable: requires 2 arguments, but 0 were provided
result_type isBuzz(first_argument_type v, second_argument_type d);
^
1 error generated.


Добавлено через 5 минут
А, итераторы уже сообразил - нужно begin() и end()! Но это все-равно сути не решает.
upd2. Уф, и первый аргумент должен быть не-const. Исправил.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru