Şu anda == işleci için aşırı yüklenmiş bir işlev oluşturmaya çalışıyorum. Bağlı listem için bir hpp dosyası oluşturuyorum ve bu operatörün hpp dosyasında çalışmasını sağlayamıyorum.== işlevinin aşırı yüklenmesi
Şu anda bu var:
template <typename T_>
class sq_list
{
bool operator == (sq_list & lhs, sq_list & rhs)
{
return *lhs == *rhs;
};
reference operator *() {
return _c;
};
};
}
Ben yaklaşık 10 hata olsun ama hata olarak hemen hemen tekrar:
C2804: ikili 'operatör ==' çok fazla parametreleri
C2333 vardır : 'sq_list :: operator ==': işlev bildiriminde hata; atlama işlevi vücut
C2143: sözdizimi hatası: eksik ';' '*'
C4430'dan önce: eksik tür belirteci - int varsayıldı. Not: C++ varsayılan-int Etrafa şeyler değişiyor denedim ama constanlyHerhangi bir ipucu veya bu konuda yardım yukarıdaki ile aynı hataları almak
büyük takdir desteklemez.
Bu tabloyu kapaBu tabloyu aç –
Flexo
Ve eğer üye bir işlevse, bir resim alır ve bu – Flexo
@awoodland kullanır: Hayır, yapmazsınız; Bir sınıf şablonu tanımının içinde, şablon adı yalnızca geçerli şablon örneğine başvurabilir. Ve OP'nin kodunda zaten hiçbir T değil. –