相关疑难解决方法(0)

C++中的Lambda-Over-Lambda 14

以下递归lambda调用如何结束/终止?

#include <cstdio>

auto terminal = [](auto term)            // <---------+  
{                                        //           |
    return [=] (auto func)               //           |  ???
    {                                    //           |
        return terminal(func(term));     // >---------+
    };
};


auto main() -> int
{
    auto hello =[](auto s){ fprintf(s,"Hello\n"); return s; };
    auto world =[](auto s){ fprintf(s,"World\n"); return s; };


    terminal(stdout)
            (hello)
            (world) ;

    return 0;

}
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?

Running code

c++ lambda c++14

69
推荐指数
5
解决办法
4215
查看次数

标签 统计

c++ ×1

c++14 ×1

lambda ×1