这主要是一种单线型问题,出于可读性原因,我通常会将这些代码写成多行.
所以我的问题是我可以在定义它的同一语句中调用递归lambda吗?
所以不是这样的:
int n=3;
function<void(int)> f {[n,&f](int i){if (i>1) { cout << "func(a, "; f(i-1); cout << ")";} else cout << "a";}};
f(n);
Run Code Online (Sandbox Code Playgroud)
n在定义f的同一行中调用该函数.