ora è tutto molto più chiaro, ti ringrazio!
ho fatto una prova comunque, passando l'ostream per valore:
codice:
ostream& operator<<(ostream os, MiaClasse &obj)
mi si apre "ios_base.h" nel compilatore, a questa riga:
codice:
private:
ios_base(const ios_base&);
ios_base&
operator=(const ios_base&);
};
e mi da questi errori:
codice:
In copy constructor `std::basic_ios<char, std::char_traits<char> >::basic_ios(const std::basic_ios<char, std::char_traits<char> >&)':
`std::ios_base::ios_base(const std::ios_base&)' is private within this context
In function `int main()':
initializing argument 1 of `std::ostream& operator<<(std::ostream, MiaClasse&)'
aiutami a decifrare: io vedo che il costruttore di copia è definito private: quindi in questo si nota che non è previsto un costruttore di copia per un passaggio per valore?
grazie!