Saya mencoba membuat vektor lambda, tetapi gagal:
auto ignore = [&]() { return 10; }; //1
std::vector<decltype(ignore)> v; //2
v.push_back([&]() { return 100; }); //3
Sampai baris # 2, kompilasi baik-baik saja . Tetapi baris # 3 memberikan kesalahan kompilasi :
kesalahan: tidak ada fungsi yang cocok untuk panggilan ke 'std :: vector <main () :: <lambda () >> :: push_back (main () :: <lambda ()>)'
Saya tidak ingin vektor penunjuk fungsi atau vektor objek fungsi. Namun, vektor objek fungsi yang merangkum ekspresi lambda nyata , akan bekerja untuk saya. Apakah ini mungkin?