我有以下等于运算符:
bool operator==(const Duration& x, const Duration& y){
return ( x.hrs == y.hrs, x.mins == y.mins, x.secs == y.secs );
}
我也试过:
bool operator==(const Duration& x, const Duration& y){
return ( (x.hrs == y.hrs) && (x.mins == y.mins) && (x.secs == y.secs) );
}
在我的主要方法中,我有:
//Arbitrary Durations - Testing
Duration dTest0 (01,45,12);
Duration dTest1 (01,35,45);
Duration dTest2 (01,35,45);
Duration dTest3 (01,25,05);
if ( dTest0 == dTest1 ){
cout<< "broken" << endl;
}
else{
cout<< "working" << endl;
}
我的程序不断输出“损坏”,这表明 dTest0 和 dTest1 实际上是相等的......我哪里出错了?
附加:如果我使用x.getHours == y.getHours...
它在下面放一条红线"."
并说:“错误:指向绑定函数的指针只能用于调用函数”。
任何意见,将不胜感激。谢谢。