【问题标题】:Cant access complex qvector's methods无法访问复杂的 qvector 的方法
【发布时间】:2015-12-01 20:00:31
【问题描述】:

我的数据结构如下所示:

QVector<QHash<QPair<int, int>, QVector<double> > > * wow = new QVector< QHash<QPair<int, int>, QVector<double> > >(4);

当我写wow-&gt;at(0).keys(); 它工作正常,但是当我写 wow[0].keys(); 时,我收到一条错误消息:

'class QVector, QVector >>' 没有 名为“钥匙”的成员 哇[0].keys(); ^

我将需要使用不仅需要只读访问权限的方法,而且我不明白为什么会发生这种情况。您能帮帮我吗?我应该如何以非只读方式访问 Qhashe 的方法?

【问题讨论】:

    标签: qt containers qvector


    【解决方案1】:

    当你写wow[0].keys() 时,wow 是一个指针,它返回第一个指向的对象,就像一个数组。它基本上转换为指针的取消引用,如下所示:wow-&gt;keys()。由于QVector 没有keys 方法,因此编译失败。

    如果您想从向量中获取元素0,则可以使用wow-&gt;at(0).keys()(*wow)[0].keys()。首先取消引用,然后使用下标运算符。

    【讨论】:

    • 我现在明白了。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-18
    • 2019-09-09
    • 2020-07-31
    • 1970-01-01
    相关资源
    最近更新 更多