我有一个指向 QMultiHash 的 QSharedPointer。当我尝试从 QSharedPointer 获取 QMultiHash 时,它搞砸了。我的想法是 QMultiHash 的 QHash 部分是不可访问的。
QSharedPointer<QMultiHash<int, JB_Node*>> aNewNodesMH(new QMultiHash<int, JB_Node*>());
aNewNodesMH->insert(1, pNode);
QVector<QSharedPointer<QMultiHash<int, JB_Node*>>> nodesMHV;
nodesMHV.append(aNewNodesMH);
QSharedPointer<QMultiHash<int, JB_Node*>> aMHp = nodesMHV.value(0);
QMultiHash<int, JB_Node*> aMH = (*aMHp); // messes up here
QHashIterator<int, JB_Node*> i(aMH);
while (i.hasNext()){
i.next();
....
有什么方法可以解决这个问题,或者是否有另一种方法可以获得 QMultiHash 的向量?
干杯杰夫