重载结构运算符 试图找出C++中实现比较运算符的解决方案。我有一个我想要的结构,每当它与它类型的另一个结构进行比较时。我拿出了一堆代码,只是为了让所有的东西都最小化 struct HuffNode{ //Comparison stuff.. needed in Pqueue bool operator> (const HuffNode&) const; bool operator>=(const HuffNode&) const; bool operator==(const HuffNode&) const; bool operator<=(const HuffNode&) const; bool operator< (const HuffNode&) const; };
有人知道如何解决这个问题吗?不完全确定。。我唯一能想到的就是没有正确的论点。我的目标是在模板类中使用它,以便比较两个结构。只需执行以下操作:重载结构运算符 试图找出C++中实现比较运算符的解决方案。我有一个我想要的结构,每当它与它类型的另一个结构进行比较时。我拿出了一堆代码,只是为了让所有的东西都最小化 struct HuffNode{ //Comparison stuff.. needed in Pqueue bool operator> (const HuffNode&) const; bool operator>=(const HuffNode&) const; bool operator==(const HuffNode&) const; bool operator<=(const HuffNode&) const; bool operator< (const HuffNode&) const; };,c++,operator-overloading,C++,Operator Overloading,有人知道如何解决这个问题吗?不完全确定。。我唯一能想到的就是没有正确的论点。我的目标是在模板类中使用它,以便比较两个结构。只需执行以下操作: if( *hn1 == *hn2 ){ cout << "HEYYYYYY111" << endl; } 使用*可以访问这个case对象中的值,它应该调用重载运算符。您正在比较指针。而是比较对象。你在比较指针,它们不太可能是相同的。你还需要真正实现一个运算符,即CLASICALY运算符 bool HuffNode::o
if( *hn1 == *hn2 ){
cout << "HEYYYYYY111" << endl;
}
使用*可以访问这个case对象中的值,它应该调用重载运算符。您正在比较指针。而是比较对象。你在比较指针,它们不太可能是相同的。你还需要真正实现一个运算符,即CLASICALY运算符
bool HuffNode::operator==(const HuffNode &f) const {
return true;
}
if( *hn1 == *hn2 ){
cout << "HEYYYYYY111" << endl;
}