ee, форматировали бы код нормально - и не возникало бы таких глупых вопросов.
C++ |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| #include <iostream>
#include <functional>
using namespace std;
int main()
{
function<int()> f();
{
int x=0;
return [=] () mutable {return ++x; };
}
auto fun = f();
for (int i = 0; i < 5; ++i)
{
cout << fun() << endl;
}
return 0;
} |
|
Добавлено через 43 секунды
И сразу видно, что в 11 строке пытаетесь вернуть из функци main лямбду, которая, очевидно, к int не приводится.