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

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

Войти
Регистрация
Восстановить пароль
 
septe-mber
0 / 0 / 0
Регистрация: 02.01.2013
Сообщений: 123
#1

лямбда функция - C++

28.08.2013, 23:47. Просмотров 641. Ответов 1
Метки нет (Все метки)

привет всем! не понимаю в чем ошибка...вот код
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
vector<string> tmp_count;
    list<string> tmp_result = str;
    for(auto i = str.begin(); ; i++)
    {
        for(auto j = tmp_count.begin(); j != tmp_count.end(); j++)
            if(*i == *j)
            {
                i++;
                break;
            }
        if(i == str.end()) break;
        else if(std::count(str.begin(), str.end(), *i) == 2)
            tmp_count.push_back(*i);
    }
    if(!tmp_count.empty())
    {
        std::for_each(tmp_count.rbegin(), tmp_count.rend(), [&tmp_result, &m_cycle](string tmp_str)
        {
            list<string> tmp;
            auto begin = std::find(tmp_result.begin(), tmp_result.end(), tmp_str);
            auto end = std::find(tmp_result.rbegin(), tmp_result.rend(), tmp_str).base();
            for(auto i = begin; i != end; i++)
                tmp.push_back(*i);
            tmp_result.erase(begin, end);
            //m_cycle.push_back(tmp);
        });
    }
    for(size_t i = 0; i < count; i++) str.pop_back();
те переменные которые в квадратных скобках: tmp_result - переменная , которая создана в функции,
m_cycle - это член класса...
при компиляции выдает ошибку...что это за ошибка?
Миниатюры
лямбда функция  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.08.2013, 23:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос лямбда функция (C++):

Лямбда выражения - C++
Здрасьте) вопрос по новому стандарту, в который ввели лямбда-выражения. создаю класс, у которого есть поле data, типа map. map...

Лямбда функции - C++
Всем добрый вечер! Пытаюсь ознакомиться поближе с лямбда функциями и уже возникли трудности... Просмотрела пару публикаций на эту тему и...

Рекурсивная лямбда - C++
можно ли в лямбде сделать рекурсию? как получить имя безымянной функции? this не пашет...

Интерфейсная ссылка vs лямбда - C++
Добрый день, если надо, чтобы класс А вслучаи определённого евента сообщил об этом нужного другому классу Б это можно сделать...

Лямбда, список захвата - C++
Есть ли возможность поместить в список захвата лямбды, которая находится в методе, переменную член этого класса? Точнее как это лучше...

Лямбда-выражения и замыкание - C++
Здравствуйте, изучаю новый для себя стандарт языка и не совсем могу разобраться с замыканием Прогнал по отладчику - c изменяется...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
rrrFer
Заблокирован
28.08.2013, 23:57 #2
Код
std::for_each(tmp_count.rbegin(), tmp_count.rend(), [&tmp_result, &m_cycle]
нельзя захватывать член
захватый this вместо этого.

как то так должно работать:
Код
std::for_each(tmp_count.rbegin(), tmp_count.rend(), [&tmp_result, this]
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.08.2013, 23:57
Привет! Вот еще темы с ответами:

Max_element с лямбда-функцией - C++
Интереса ради решил попробовать такую конструкцию string s; getline(cin,s); auto ma=max_element(s.begin(),s.end(),(string...

Передача лямбда в функции - C++
В чем смысл передачи лямбда выражения функции?auto square = (int x) { return x * x; }; std::cout &lt;&lt; square(16) &lt;&lt; std::endl;илиclass Foo ...

С++11 Лямбда-выражения и вывод результата - C++
Поспорил с одним человеком, что смогу следующий код: alert( ); на C++ сделать (тоже просто). Решил использовать лямбда-выражения и C++11....

Лямбда-выражение и шаблонный класс - C++
Здравствуйте, у меня есть класс. Как мне использовать лямбда-выражение внутри этого класса? template &lt;class L&gt; class...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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