0

QDomElement としてキーと値のペアで定義された qhash があります。以下に示すように。const_iterator を使用してハッシュを更新しようとしています。しかし、そうしている間にエラーがスローされ、同じ問題を解決する方法:-

error C2664: 'erase' : cannot convert parameter 1 from 'class QHash<class QDomElement,class QDomElement>::const_iterator' to 'class QHash<class QDomElement,class QDomElemen
t>::iterator'

コードスニペット :-

// update parent child mapping hash
    QHash<QDomElement, QDomElement>::const_iterator pList = hashParentChildList.constBegin();
    while (pList != hashParentChildList.constEnd())
    {
        if(pList.key() == element)
        {
            pList = hashParentChildList.erase(pList); // Error Line
        }
        else
        {
            pList++;
        }
    }
}

ありがとう、プリヤンカ

4

1 に答える 1

0

問題は解決しました。QHash::iterator pList = hashParentChildList.begin(); を使用してください。QHash::const_iterator pList = hashParentChildList.constBegin(); の代わりに

于 2013-05-20T04:59:17.863 に答える