Önce biraz arka plan, şablonları kullanarak iki kez bağlantılı bir liste hazırladım. Hesap kimliğini karşılaştırmak için "==" operatörünü aşırı yüklediğim bir "hesap" sınıfım var. Hesapları tutmak için bağlantılı bir liste oluşturdum. Aşırı yüklenmiş işleç algılanamıyor
Ben listeye yeni bir hesap eklemek
, bu "içeriyor?" Çağrıları == operatörünü çağıran yöntem. Hata çağrılan ve g ++ şimdi birkaç saat soruşturma oldum ve bunu altına alınamıyor banasll.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&)
söyler olduğu yerdir. Şablonları kullanmamla ilgili bir şey olabileceğinden şüpheleniyorum. Operatörün aşırı yüklenip yüklenmediğini görmek için test programı oluşturdum ve beklendiği gibi çalışıyor.
Ayrıca not: Bir müşteri sınıfı var Burada içerdiği hesapların listesi budur ve bu "add" yöntemidir. Maalesef 2'den fazla hiperlink yayınlayamıyorum, bu yüzden bu sınıfın düzgün bir şekilde yazılmasını istiyorum. = P
: kod biraz uzun bir pastie kullanılır