gpt4 book ai didi

c++ - 在 C++ 中比较结构时未找到 == 运算符

转载 作者:太空宇宙 更新时间:2023-11-04 12:57:48 25 4
gpt4 key购买 nike

比较以下结构的两个实例时,我收到一个错误:

struct MyStruct1 {
MyStruct1(const MyStruct2 &_my_struct_2, const int _an_int = -1) :
my_struct_2(_my_struct_2),
an_int(_an_int)
{}

std::string toString() const;

MyStruct2 my_struct_2;
int an_int;
};

错误是:

error C2678: binary '==' : no operator found which takes a left-hand operand of type 'myproj::MyStruct1' (or there is no acceptable conversion)

为什么?

最佳答案

在 C++ 中,struct 没有默认生成的比较运算符。你需要自己写:

bool operator==(const MyStruct1& lhs, const MyStruct1& rhs)
{
return /* your comparison code goes here */
}

关于c++ - 在 C++ 中比较结构时未找到 == 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45758513/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com