basic_ostream有两个构造函数: public: explicit basic_ostream(__streambuf_type* __sb) { this->init(__sb); } protected: basic_ostream(){this->init(0);} 在自己的类Trace中申明了 streambuf *streamBuffer_; Trace::Trace(const ostream &out): streamBuffer_(out.rdbuf()) {} 编译的时候报错了: /usr/lib/gcc/i686-redhat-linux/4.4.6/../../../../include/c++/4.4.6/ostream: In constructor 'Trace::Trace(const std::ostream&)': /usr/lib/gcc/i686-redhat-linux/4.4.6/../../../../include/c++/4.4.6/ostream:361: error: 'std::basic_ostream<_CharT, _Traits>::basic_ostream() [with _CharT = char, _Traits = std::char_traits<char>]' is protected 不懂怎么解决了,Trace的构造函数该怎么样申明?
非常感谢您的帮助!