![](/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.