项目场景:
自定义数据结构,进行内存数据的一些遍历等(QList等存储)
问题描述
因为出现==无法找到可接受的转换,那么你一定会像我一样,找==符号,一个项目里==符号那么多,要找到对应的对象==,谈何容易!!!
原因分析:
对C++基础知识掌握不牢,出现问题不只如何查找
解决方案:
参考:二进制“==”: 没有找到接受“Point”类型的左操作数的运算符(或没有可接受的转换)_胡侃有料的博客-CSDN博客_二进制没有找到接受类型的左操作数
修改自己的类
#ifndef MODULE_MOTORTABLE_H #define MODULE_MOTORTABLE_H #include<QtCore> #include "module_global.h" class MODULESHARED_EXPORT ModuleMotorTable { public: ModuleMotorTable(); bool operator ==(const ModuleMotorTable& p); int id; QString timeStr; float probeValue; float flumeXValue; float flumeYValue; float flumeZValue; }; #endif // MODULE_MOTORTABLE_H
#include "modulemotortable.h" ModuleMotorTable::ModuleMotorTable() { id = 0; timeStr = QString(""); probeValue = 0.0; flumeXValue = 0.0; flumeYValue = 0.0; flumeZValue = 0.0; } bool ModuleMotorTable::operator ==(const ModuleMotorTable &p) { if(this->id == p.id && this->flumeXValue == p.flumeXValue &&this->flumeYValue == p.flumeYValue && this->flumeZValue == p.flumeZValue && this->timeStr == p.timeStr && this->probeValue == p.probeValue){ return true; }else{ return false; } }