次のような構造体があります。
sturct person
{
string surname;
person(string n) : surname(n) {};
}
と をオーバーロードする必要がoperator<<
ありstd::ostream
ますperson
。私はこの関数を書きました:
std::ostream operator<<(std::ostream & s, person & os)
{
s << os.surname;
return s;
}
しかし、私はこのエラーを受け取ります:
/usr/include/c++/4.6/bits/ios_base.h|788|エラー: 'std::ios_base::ios_base(const std::ios_base&)' は非公開です|
/usr/include/c++/4.6/bits/basic_ios.h|64|エラー: このコンテキスト内
/usr/include/c++/4.6/ostream|57|注: 合成されたメソッド 'std::basic_ios::basic_ios(const std::basic_ios&)' がここで最初に必要です |