Sınıflarımdan birinde operatöre < < aşırı yüklenmesini istiyorum. imza şöyledir:C++ - arkadaş dosyalarının başlık dosyasında tanımlanması gerekir mi?
friend std::ostream& operator<<(std::ostream& os, const Annuaire& obj)
ben .h bunu tanımladığınızda, .cpp tanımlamak o operatörün < < tam ancak 1 argüman alır söylüyor dosyaya deneyin, bu derlenmiş /iyi çalışıyor.
std::ostream& Annuaire::operator<<(std::ostream& os, const Annuaire& obj){ // ... }
o başlık dosyalarında tanımlanabilir gerek arkadaş fonksiyonları ile ilgisi var mı:
Bu benim .cpp dosyasında tanımlamak nasıl?
Sen ostream' ve 'istream' sağ ... –
evet, arkadaşın istream olduğunu ve kasıtlı olduğunu size 2 arkadaş bildirimleri ve 2 tanımlarını gerekir eğer cpp'de bir, ostream olan' almak zorunda değilse, bir ya da diğerini düzeltin ya da dışarı akışını istiyorsanız –
. Teşekkürler, bu bir kopya-yapıştır hata oldu zaten. Ekteki ad alanına bir not eklemek için – Pacane