![](/img/trans.png)
[英]How do I convert QMap<QString, QMap<QString, int> > to a QVariant?
[英]How can I use a QMap<QString, QString>::const_iterator as a pointer?
如何使用QMap<QString, QString>::const_iterator
作为指针?
QMap<QString, QString>::const_iterator *i = map -> constBegin();
while (i != map -> constEnd()) {
qDebug() << i -> key() << ": " << i -> value();
i++;
}
}
我收到错误:
/my_class.cpp:36: error: cannot convert ‘QMap<QString, QString>::const_iterator’ to ‘QMap<QString, QString>::const_iterator*’ in initialization
QMap<QString, QString>::const_iterator *i = map -> constBegin();
^
错误在这一行:
QMap<QString, QString>::const_iterator *i = map -> constBegin();
~~
在这里,您定义了一个指向 const_iterator
的指针 ,但是QMap::constBegin()
仅返回const_iterator
。
只需删除*
,即可解决问题:
QMap<QString, QString>::const_iterator i = map -> constBegin();
关键是,迭代器的行为已经类似于指针,因此不需要定义指针的常规语法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.