首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QT5.1 qHash错误

QT5.1 qHash错误
EN

Stack Overflow用户
提问于 2013-12-16 08:53:28
回答 1查看 1.3K关注 0票数 1

当我定义要使用散列的类时,会遇到一些question.IDE显示错误:

错误C2665:“qHash”:17重载不能转换所有参数类型的qHash 111 1“

我认为异常代码是重载的,qHash(const &key).How,我能处理吗?我的QT是5.1。

代码语言:javascript
复制
class Person
{
public:
    Person(const QString& name,const QString& number);

    const QString& name() const;
    const QString& number() const;

    inline bool operator==(const Person &compare) const
    {
        return (name()==compare.name())&&(number()==compare.number());        
    }  

    uint qHash(const Person &key)
    {
        return qt_hash(key.name())^qt_hash(key.number());       
    }

private:
    QString m_name,m_number;
};
EN

回答 1

Stack Overflow用户

发布于 2013-12-16 09:04:13

为您的类特大声明qHash()。

代码语言:javascript
复制
class Person
{
public:
    Person(const QString& name,const QString& number);

    const QString& name() const;
    const QString& number() const;

    inline bool operator==(const Person &compare) const
    {
        return (name()==compare.name())&&(number()==compare.number());        
    }  
private:
    QString m_name,m_number;
};

uint qHash(const Person &key)
{
    return qt_hash(key.name())^qt_hash(key.number());       
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20606702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档