我在C++ 03上,我剛開始接觸C++。使用stringstream作爲內聯函數中的默認值
我想,以使該設置字符串流的一些特性功能,並返回它(或mayebe通過引用傳遞它)
inline stringstream get_fixed_stream(stringstream ss=stringstream("")) {
ss.precision(4);
ss.setf(ios::fixed);
return ss;
}
所以,如果我打電話:
stringstream ss = get_fixed_stream()
我recive新strinstring,如果我打電話
COUT = get_fixed_stream(COUT)
的精度和setf被設置爲cout。
我得到這個錯誤:
/usr/include/c++/4.4/streambuf:770: error: ‘std::basic_streambuf<_CharT, _Traits>::basic_streambuf(const std::basic_streambuf<_CharT, _Traits>&) [with _CharT = char, _Traits = std::char_traits<char>]’ is private
/usr/include/c++/4.4/iosfwd:63: error: within this context
你試圖通過值返回流。這不起作用,流不可複製。這是什麼錯誤信息告訴你:流類的拷貝構造函數是私有的。 – jrok 2012-02-23 15:46:29