【问题标题】:QHash iterator example - no match for operator <<?QHash 迭代器示例 - 运算符 <<? 不匹配
【发布时间】:2013-07-14 20:24:24
【问题描述】:

学习 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: 错误:'operator

我不知道出了什么问题。代码几乎是从文档中复制粘贴的。 我在这里错过了什么吗?

【问题讨论】:

    标签: c++ qt qhash


    【解决方案1】:

    这是因为 std::cout 不能与 QString 一起使用。尝试使用QString::toStdString(),或者你也可以使用qDebug()代替cout

    详情请参阅this Q&A

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-28
      • 1970-01-01
      • 2012-03-12
      • 2013-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多