Mam struct, który wygląda tak:'std :: ios_base :: ios_base (const std :: ios_base &)' „jest prywatną błąd podczas przeładowania operator << dla std :: ostram
sturct person
{
string surname;
person(string n) : surname(n) {};
}
Muszę przeciążyć operator<<
dla std::ostream
i person
. Napisałem tę funkcję:
std::ostream operator<<(std::ostream & s, person & os)
{
s << os.surname;
return s;
}
ale otrzymuję ten błąd:
/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 |
Dzięki za to, pomógł mi się :) +1 – T3CHN0CR4T