Stavo cercando di creare un vettore di lambda, ma non è riuscito:
auto ignore = [&]() { return 10; }; //1
std::vector<decltype(ignore)> v; //2
v.push_back([&]() { return 100; }); //3
Fino alla riga # 2, si compila bene . Ma la riga # 3 dà un errore di compilazione :
errore: nessuna funzione corrispondente per la chiamata a 'std :: vector <main () :: <lambda () >> :: push_back (main () :: <lambda ()>)'
Non voglio un vettore di puntatori a funzione o un vettore di oggetti funzione. Tuttavia, il vettore di oggetti funzione che incapsulano espressioni lambda reali , funzionerebbe per me. È possibile?