Re[2]: C++11, передача Lambda-выражения как параметра
От: vintch  
Дата: 12.01.12 16:49
Оценка:
Здравствуйте, k06a, Вы писали:

K>Попробуйте по ссылке лямбду в функции получать.


Идея вполне хороша, вот только — какого типа должна быть ссылка?

Если говорить об обычной функции, то всё понятно.
А какой тип у замкнутой лямбда функции? Тут то неприятный сюрприз — её тип уникален для каждой функции,
даже если ихний код будет символ-в-символ одинаковым

Единственный способ (из мне известных) получить одновременно собственно лямбда-функцию и её тип, это:

int someVar = 0;
auto lambdaFunction = [&] () -> void { someVar++ };


Здесь:
lambdaFunction — идентификатор функции
decltype(lambdaFunction) — её тип

Но всё это локально, как его передать нужной функции то...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.