二进制“==”: 没有找到接受“XX”类型的左操作数的运算符(或没有可接受的转换)

项目场景:

自定义数据结构,进行内存数据的一些遍历等(QList等存储)


问题描述

因为出现==无法找到可接受的转换,那么你一定会像我一样,找==符号,一个项目里==符号那么多,要找到对应的对象==,谈何容易!!!

原因分析:

对C++基础知识掌握不牢,出现问题不只如何查找


解决方案:

参考:二进制“==”: 没有找到接受“Point”类型的左操作数的运算符(或没有可接受的转换)_胡侃有料的博客-CSDN博客_二进制没有找到接受类型的左操作数

修改自己的类

#ifndef MODULE_MOTORTABLE_H
#define MODULE_MOTORTABLE_H
#include
#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;
    }
}

你可能感兴趣的:(Qt,Question,qt,c++)