Невозможно записать переменную-член в лямбда по ссылке

Поскольку вы хотите сделать это рекурсивно, вам, вероятно, лучше всего делать несколько совпадений с помощью цикла.

Само Regex плохо подходит для рекурсивного-ничего.

0
задан Rakete1111 13 July 2018 в 09:52
поделиться

1 ответ

[&(target.first)](float item) {
    return std::fabs(item - target.first) < 0.1f;
}

Вы не можете сделать [&(target.first)]. Даже без круглых скобок вы не можете захватить одну переменную-член как это. Вам нужно использовать записи C ++ 14:

[&first = target.first](float item) {
    return std::fabs(item - first) < 0.1f;
}

Или, альтернативно, после вашей второй лямбда, захватите только target:

[&target](float item) {
    return std::fabs(item - target.first) < 0.1f;
}
10
ответ дан Rakete1111 17 August 2018 в 13:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: