我是 Qt 的新手,正在学习处理 QHash 的工作原理。在使用此示例时,我不明白为什么这会引发错误。我可能会错过一些东西,但请指导我学习这一点。
主文件
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QHash<QString,Person> hash;
QString key="1";
Person p;
p.name = name;
p.number = an;
hash.insert(key,p);
return a.exec();
}
人.h
class Person
{
public:
Person();
Person(QString name,QString num);
bool operator==(const Person & other) const; //== overloading to assign in QHash
QString name,number;
};
个人.cpp
Person::Person()
{
}
Person::Person(QString name, QString num)
{
this->name=name;
this->number=num;
}
bool Person::operator==(const Person & other) const
{
bool state;
if (name == other.name )
state = true;
else
state = false;
return state;
}
错误是:-'qHash':17 个重载中没有一个可以转换所有参数类型。我知道我错过了一些东西。请指导我。