该报错定位到qHash.h里。问题出在使用QSet存放了自定义的类。

解决方法:在类外重载(==)操作符和重写全局函数qHash.

具体如下:

头文件:

//操作符重载(==)
bool operator ==(const Card& left,const Card& right);
//重写全局函数qHash
uint qHash(const Card& card);

源文件:

bool operator ==(const Card& left,const Card& right)
{return(left.Point() == right.Point() && left.Suit() == right.Suit());
}uint qHash(const Card &card)
{return card.Point() * 100 + card.Suit();
}

Card是我放到容器的自定义类,第一个重载操作符中,参数是容器的成员(两个自定义类)。比较的是容器里两个自定义类的成员变量,Point()和Suit()方法是获取类中的成员变量。简单来说你将你的类换上去再访问你的类的成员变量就行了。

第二个是重写qHash函数,计算的是传进来的类的哈希值。

我这里写的是斗地主游戏的卡牌类,哈希值都不同,所以随便写个式子是他的哈希值不同即可。

QT中QSet容器报错: error: C2678: 二进制“==”: 没有找到接受“const Key类型的左操作数的运算符。相关推荐

  1. ERROR:C2678 二进制“<”: 没有找到接受“const _Ty”类型的左操作数的运算符(或没有可接受的转换)

    [1]复现问题 为了更精确的分析,先用最简单的示例复现此错误场景,代码如下: #include <map> #include <string>struct Section {i ...

  2. C2678 二进制“<“:没有找到接受“ const_Ty“类型的左操作数的运算符

    C2678 二进制"<":没有找到接受" const_Ty"类型的左操作数的运算符 运行c++程序时遇到上述错误,点击VS中的错误后发现无法定位到错误所在 ...

  3. 【C++】c++编译错误-- C2678 二进制“=”: 没有找到接受“_Ty”类型的左操作数的运算符(或没有可接受的转换)

    [C++]c++编译错误-- C2678 二进制"=": 没有找到接受"_Ty"类型的左操作数的运算符(或没有可接受的转换) 代码: //by 鸟哥 rever ...

  4. c++编译错误-- C2678 二进制“=”: 没有找到接受“_Ty”类型的左操作数的运算符(或没有可接受的转换)

    代码: //by 鸟哥 reverse引起的编译错误 //有疑问请留言或加群 1032082534 #include<iostream> #include<algorithm> ...

  5. 在Linux中安装MySQL报错“error: Failed dependencies: mysql-community-libs(x86-32) >= 5.7.9 is needed by my“

    异常 在Linux中安装MySQL报错: 原因 因为缺少相关的依赖,所以要先安装这些依赖才能安装MySQL成功. 解决 (注意:这种方法是错误的,安装后并不能启动MySQL成功) 在每个安装指令后面添 ...

  6. 【错误记录】Visual Studio 中编译 NDK 报错 ( error : cannot use ‘throw‘ with exceptions disabled )

    文章目录 一.报错信息 二.解决方案 一.报错信息 使用 Visual Studio 2019 编译 Android NDK 项目 , 报错如下 : 已启动生成- 1>------ 已启动生成: ...

  7. Eclipse中mvn install 报错error in opening zip file

    报错信息 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (de ...

  8. 微信小程序报错 Error: errCode: -501007 invalid parameters | errMsg: Invalid Key Name: _openid

    错误原因: _openid不能主动设置 错误代码: db.collection('FixedStore').add({data: {fixedAudit: false, //审核状态fixedMerc ...

  9. mongodb中文件导入报错error inserting documents解决方法

    相信很多新接触mongdb的朋友在导入数据时都或多或少的遇上些许问题,下面就我遇上的问题做个简单记录. 安装完MongoDB会自带个导入工具:mongoimport,导入的指令为 Usage:mong ...

最新文章

  1. 定时器有几种实现方式?
  2. JS实现动态生成表格并提交表格数据向后端 表格中数据转为json
  3. 全行业的关键点是探索数据的价值 挖掘商业模式
  4. 【NLP技术应用】工业界求解NER问题的12条黄金法则
  5. 每天,每周,每月,每年程序员该做的事情
  6. 简单阻容降压电路图_升压降压芯片电路
  7. h5页面禁止复制_H5移动端页面禁止复制技巧
  8. 懂技术对产品有哪些帮助?
  9. .NET、C#和ASP.NET三者之间的区别与联系
  10. ssrs筛选器_SSRS ReportServer:服务性能计数器指南
  11. Android 学习笔记 Service服务与远程通信...(AIDL)
  12. linux下查看ntp对时的命令,linux 查看服务器时间命令
  13. effective java读书笔记12:考虑实现Comparable接口
  14. RS编码的matlab仿真
  15. 字体,Web安全字体,serif和sans serif区别,免费商用中文字体等
  16. dns服务器怎么优化,SmartDNS 高性能本地DNS服务器,优化网速
  17. 一日精通python编程_爱上Python 一日精通Python编程 [Learn Python in One Day and Learn it Well ]...
  18. ASP.NET CORE的服务注册方法
  19. nove6怎么升级鸿蒙系统,华为手机怎么升级鸿蒙,华为鸿蒙系统支持手机型号大全...
  20. xshell 6顶部工具栏找不到

热门文章

  1. Linux下 ifconfig、ifup、ifdown使用说明
  2. 他是CEO,他分享了这5条工作经验
  3. 玩头条整整20天了,发的内容只有头条,已有差不多250元的收益了
  4. 2010年4月2日 晴
  5. 处理各种压力(情绪、家庭)时,需要注意什么!
  6. Extending Air
  7. 哪个软件配音是免费的?分享这几款好用的配音软件
  8. 如何设置阿里云Web应用攻击防护?
  9. 数据分析笔记--对NBA球员数据的聚类分析(代码)
  10. Typora数学公式和符号整理