我有一个名为 Something 的类,它有两件事:一个字符串和一个指令向量。在那个类中,我想定义 operator==。但是,当我尝试编译时出现错误:
error: no match for ‘operator==’ in ‘* __first1 == * __first2’
这发生在我使用 == 比较Something中的两个向量的那一行(因为向量已经方便地定义了,我想使用它)。
指令如下:
struct instruction
{
int instr;
int line;
bool operator==(const instruction& rhs)
{
return (instr == rhs.instr) && (line == rhs.line);
}
};
我一直在寻找无济于事的解决方案。似乎来自 STL 的向量在比较这些元素时没有看到我为我的结构定义的 operator==。