无法访问复杂的向量方法
Cant access complex qvector's methods
我的数据结构如下所示:
QVector<QHash<QPair<int, int>, QVector<double> > > * wow = new QVector< QHash<QPair<int, int>, QVector<double> > >(4);
当我写wow->at(0).keys();
它工作正常,但是当我写 wow[0].keys();
时,我收到一条错误消息:
'class QVector, QVector > >' has no
member named 'keys'
wow[0].keys();
^
我将需要使用不仅需要只读访问权限的方法,而且我不明白为什么会这样 happens.Can 请您帮助我,我应该如何以非只读方式访问 Qhashe 的方法?
当你写wow[0].keys()
时,wow
是一个指针,它returns指向第一个对象,就像一个数组。它基本上转换为指针的取消引用,如下所示:wow->keys()
。由于 QVector
没有 keys
方法,编译失败。
相反,如果您想从向量中获取元素 0
,则可以使用 wow->at(0).keys()
或 (*wow)[0].keys()
。先解引用,再使用下标运算符。
我的数据结构如下所示:
QVector<QHash<QPair<int, int>, QVector<double> > > * wow = new QVector< QHash<QPair<int, int>, QVector<double> > >(4);
当我写wow->at(0).keys();
它工作正常,但是当我写 wow[0].keys();
时,我收到一条错误消息:
'class QVector, QVector > >' has no member named 'keys' wow[0].keys(); ^
我将需要使用不仅需要只读访问权限的方法,而且我不明白为什么会这样 happens.Can 请您帮助我,我应该如何以非只读方式访问 Qhashe 的方法?
当你写wow[0].keys()
时,wow
是一个指针,它returns指向第一个对象,就像一个数组。它基本上转换为指针的取消引用,如下所示:wow->keys()
。由于 QVector
没有 keys
方法,编译失败。
相反,如果您想从向量中获取元素 0
,则可以使用 wow->at(0).keys()
或 (*wow)[0].keys()
。先解引用,再使用下标运算符。