gpt4 book ai didi

c++ - QHash 迭代器示例 - 运算符 << 不匹配?

转载 作者:行者123 更新时间:2023-11-30 02:53:44 24 4
gpt4 key购买 nike

学习 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: error: no match for 'operator<<' in 'std::cout << i.QHash::iterator::key with Key = QString, T = int'

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

最佳答案

那是因为 std::cout 不适用于 QString。尝试使用 QString::toStdString(),或者您也可以使用 qDebug() 而不是 cout

参见 this Q&A了解详情。

关于c++ - QHash 迭代器示例 - 运算符 << 不匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17680207/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com