我有以下等於運營商:C++等於運算
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...
它在"."
下放一條紅線,並說:'錯誤:指向綁定函數的指針只能用於調用函數。
任何意見,將不勝感激。謝謝。
第二個版本是正確的,它應該工作。你能在ideone.com上發佈一個最簡單的例子嗎? –
錯誤信息是因爲如果'getHours'是一種方法,則必須具有'x.getHours()'。 –
顯示持續時間等級... – neagoegab