d出域变量

import std.stdio;
@safe:
unittest {
    void delegate()[] dgList;
    foreach(int i; [1, 2, 3]) {
        int b = 2;
        dgList ~= { writeln(b); };
        writeln(&b); //报错,d不能取出域变量地址.
    }
}

超过引用变量的闭包字面的正确行为是,分配闭包.这里也是.

posted @ 2022-05-24 16:33  zjh6  阅读(59)  评论(0)    收藏  举报  来源