[英]QHash iterator example - no match for operator <<?
學習QT,我試圖從http://qt-project.org/doc/qt-4.8/qhash-iterator.html編譯第一個例子
我的代碼
#include <QHash>
#include <iostream>
#include <QString>
int main(int argc, char *argv[])
{
QHash<QString, int> hash;
hash.insert("January", 1);
hash.insert("February", 2);
hash.insert("December", 12);
QHash<QString, int>::iterator i;
for (i = hash.begin(); i != hash.end(); ++i)
std::cout << i.key() << ": " << i.value() << std::endl;
}
沒有編譯。 我收到此錯誤:
main.cpp:14:錯誤:'std :: cout << i.QHash :: iterator :: key中的'operator <<'與Key = QString,T = int'不匹配
我不知道出了什么問題。 代碼幾乎是從文檔中復制粘貼的。 我錯過了什么嗎?
那是因為std::cout
不適用於QString
。 嘗試使用QString::toStdString()
,或者也可以使用qDebug()
而不是cout
有關詳細信息,請參閱此問答 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.