Eu estava tentando criar um vetor de lambda, mas falhou:
auto ignore = [&]() { return 10; }; //1
std::vector<decltype(ignore)> v; //2
v.push_back([&]() { return 100; }); //3
Até a linha 2, ele compila perfeitamente . Mas a linha 3 fornece erro de compilação :
erro: nenhuma função correspondente para chamada para 'std :: vector <main () :: <lambda () >> :: push_back (main () :: <lambda ()>)'
Não quero um vetor de ponteiros de função ou vetor de objetos de função. No entanto, o vetor de objetos de função que encapsulam expressões lambda reais funcionaria para mim. Isso é possível?