其他分享
首页 > 其他分享> > d关联数组的opApply

d关联数组的opApply

作者:互联网

原文

void main () nothrow
{
    int[int] map;

    foreach (pair; map.byKeyValue)  // OK
    {
    }

    foreach (key, val; map)  
// 错误: `_aaApply2`不是`nothrow`.
    {

    }
}

对有嵌套AA类型实现toHash,是易错的.
toHash不带无抛.错误,不是不抛.
带上不抛,必须按extern (D) size_t toHash() const nothrow @safe来声明toHash(),而不是const pure @trusted ulong().

这样:

extern (D) size_t toHash() const nothrow @safe

来声明toHash呢?

标签:toHash,const,map,int,关联,数组,extern,opApply,nothrow
来源: https://blog.csdn.net/fqbqrr/article/details/123165515