首先稍微回退一點,我使用模板創建了雙向鏈表。我有一個「帳戶」類,其中我已經超載了「==」運算符來比較帳戶ID。我創建了一個鏈接列表來保存帳戶。重載的操作符未被檢測到
當我向列表中添加一個新帳戶時,它會調用「contains?」方法調用==運算符。這是被調用錯誤和g ++告訴我
sll.h: In member function ‘bool list::contains(T) [with T = account]’:
customer.h:25:35: instantiated from here
sll.h:261:3: error: no match for ‘operator==’ in ‘temp->node::data == item’
account.h:36:6: note: candidate is: bool account::operator==(account&)
我已經調查了幾個小時,現在我無法得到它的底部。我懷疑它可能與我使用模板的事實有關,我創建了測試程序以查看我是否正確地超載了操作員,並且它按預期工作。
另請注意:有一個客戶類這是什麼帳戶列表中所包含的,這就是所謂的「添加」方法。不幸的是,我不能發佈超過2個超鏈接,所以只需要說我的話,這個類是正確的。P
作爲代碼是有些長我用pastie: