Gostaria de saber se é possível escrever uma função que retorna uma função lambda em C ++ 11. Claro, um problema é como declarar tal função. Cada lambda tem um tipo, mas esse tipo não pode ser expresso em C ++. Eu não acho que isso funcionaria:
auto retFun() -> decltype ([](int x) -> int)
{
return [](int x) { return x; }
}
Nem este:
int(int) retFun();
Não estou ciente de nenhuma conversão automática de lambdas para, digamos, ponteiros para funções ou algo parecido. A única solução é criar um objeto de função manualmente e devolvê-lo?