I've got a struct which looks like this:
sturct person
{
string surname;
person(string n) : surname(n) {};
}
I need to overload operator<<
for std::ostream
and person
. I wrote this function:
std::ostream operator<<(std::ostream & s, person & os)
{
s << os.surname;
return s;
}
but I receive this errors:
/usr/include/c++/4.6/bits/ios_base.h|788|error: ‘std::ios_base::ios_base(const std::ios_base&)’ is private|
/usr/include/c++/4.6/bits/basic_ios.h|64|error: within this context
/usr/include/c++/4.6/ostream|57|note: synthesized method ‘std::basic_ios::basic_ios(const std::basic_ios&)’ first required here |