J'essayais de créer un vecteur de lambda, mais j'ai échoué:
auto ignore = [&]() { return 10; }; //1
std::vector<decltype(ignore)> v; //2
v.push_back([&]() { return 100; }); //3
Jusqu'à la ligne n ° 2, il compile bien . Mais la ligne n ° 3 donne une erreur de compilation :
erreur: pas de fonction correspondante pour l'appel à 'std :: vector <main () :: <lambda () >> :: push_back (main () :: <lambda ()>)'
Je ne veux pas de vecteur de pointeurs de fonction ou de vecteur d'objets de fonction. Cependant, un vecteur d'objets de fonction qui encapsulent des expressions lambda réelles fonctionnerait pour moi. Est-ce possible?