我承认标题很难读,而且不知道在这里提问合不合适。。。
但是还是希望好心人回答一下。 O(∩_∩)O 谢谢
声明一个返回不捕获参数的lambda的函数可以这样(在vs2012和gcc都可以编译通过):
#include int (*Test ()) (void) { int x = 0; auto ret = ]() { return 123; }; return ret; } int main() { auto ans = Test(); printf("%d\n", ans()); return 0; } ``` 但是如果Test函数中的ret想要按引用捕获参数,Test函数应该怎么声明啊?我试了半天没通过。。 我的需求是让ret能改变Test中的x的值。就是closure。。