0

我有一个指向 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 的向量?

干杯杰夫

4

0 回答 0