Здравствуйте, byleas, Вы писали:
B>Ну, во-первых, каждое лямбда-выражение — это новый тип.
Ясно. Если новый тип, то выходит, что функцию, принимающая параметром лямбду продекларировать никак нельзя, значит она должна быть шаблонной.
Так обстоят дела с параметрами на вход. Но мне пока не ясно, как вернуть лямбду из функции?
Так ведь ничего не выйдет...
template <typename F>
F id()
{
return [=](int x){return x;};
}
B>Во-вторых, не виден контекст кода, и получилось что-то вроде мудрёного регулярного выражения (regexp), непонятно, что хотели сделать
Композицию функций g(f(x))