С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Ошибка номер c2535 в адапторе bind2nd - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти среднее арифметическое элементов массива http://www.cyberforum.ru/cpp-beginners/thread1085914.html
В чем я ошибся? код для кнопки, которая должна из 35 текст-боксов должна заполнить массив, найти среднее арифметическое. Потом вывести те элементы которые не больше и не меньше 10% среднего...
C++ Генератор пароля Добрый вечер. Нужно написать программу-генератор паролей. Программа должна выполнять следующие действия: a) Ввод идентификатора пользователя с клавиатуры. Данный идентификатор представляет собой... http://www.cyberforum.ru/cpp-beginners/thread1085910.html
Подскажите литературу, где основной уклон - на работу с потоками C++
Доброго времени суток. Знаю, что список литературы лежит на форуме, но не могли бы вы подсказать в какой книжечке хорошо разжеваны потоки и все, что с ними связано? а то как-то несистематизированная...
C++ Аргументы Функции
Привет всем.Программа такова по заданному TXT файлу идет поиск строки и эта строка передается в качестве аргумента функции UrlDownloadToFile.Как URL адресс но ничег что то у меня не...
C++ В двумерном массиве найти среднее арифметическое первого столбца и количество элементов http://www.cyberforum.ru/cpp-beginners/thread1085905.html
В двумерном массиве найти среднее арифметическое первого столбца и количество элементов в каждом из следующих столбцов, превышающих среднее арифметическое предыдущего столбца
C++ Даны действительные числа a, b, c. Вычислить по формуле Даны действительные числа a, b, c. Получить (max(a,a+b)+max(a,b+c))/(1+max(a+bc,1) подробнее

Показать сообщение отдельно
Ilot
Модератор
Эксперт С++
1823 / 1181 / 232
Регистрация: 16.05.2013
Сообщений: 3,118
Записей в блоге: 5
Завершенные тесты: 1
31.01.2014, 09:21
Смотрите реализацию адаптера bind2nd:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
  template <class _Operation>
    class binder2nd
    : public unary_function<typename _Operation::first_argument_type,
                typename _Operation::result_type>
    {
    protected:
      _Operation op;
      typename _Operation::second_argument_type value;
    public:
      binder2nd(const _Operation& __x,
        const typename _Operation::second_argument_type& __y)
      : op(__x), value(__y) {}
 
      typename _Operation::result_type
      operator()(const typename _Operation::first_argument_type& __x) const
      { return op(__x, value); }
 
      operator()(typename _Operation::first_argument_type& __x) const
      { return op(__x, value); }
    };

У вас аргументы в вызове функции класса OBJ передаются по ссылке однако оператор вызова функции адаптера константный и не может изменить переданные ему аргументы. Для изменения контейнера изпользуйте алгоритм transform. Кстати использование итератора вставки приветствуется.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.