2013-05-20 21 views
0

我有一個用鍵值對定義的qhash作爲QDomElement。如下所示。我正在嘗試使用const_iterator更新哈希。不過,雖然下面的錯誤這樣被拋出,如何解決同: -QHash無法將參數1從'class QHash <class QDomElement,class QDomElement> :: const_iterator'轉換爲':: 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++; 
     } 
    } 
} 

感謝, 普里

回答

0

問題解決了,用 QHash ::迭代器pList = hashParentChildList.begin(); 而不是 QHash :: const_iterator pList = hashParentChildList.constBegin();

相關問題