d的转义

@safe:

void thorin(scope immutable(int)*) {}
void gloin(immutable(int)*) {}

immutable(int)* balin(scope immutable(int)* q)
{
    thorin(q);
    gloin(q); // 错误, gloin()转义了q
    return q; // 错误, 不能返回'域' q
}

void main() {
    immutable(int) x = 2;
    immutable(int)* ptrx = &x;
    immutable(int)* ptrz = balin(ptrx);
}//用-dip=1000来编译

posted @ 2021-04-28 08:34  zjh6  阅读(29)  评论(0)    收藏  举报  来源