デストラクタに互換性がないということから継承すると、ICL コンパイラの警告が表示std::streambuf
されます。ここで何が間違っているのでしょうか? 仮想デストラクタにしても機能しません。
警告 #809: 仮想関数 "CAbcBuffer::~CAbcBuffer" の例外仕様は、オーバーライドされた関数 "std::basic_streambuf<_Elem, _Traits>::~basic_streambuf [with _Elem=char, _Traits=std::char_traits] の例外仕様と互換性がありません。 "
class CAbcBuffer : public std::streambuf
{
protected:
/** Work buffer */
char *buffer;
public:
explicit CAbcBuffer()
{
/*
Stores the beginning pointer, the next pointer, and the end pointer for the
input buffer
*/
buffer = new char[100];
std::streambuf::setg(buffer, buffer, buffer);
}
~CAbcBuffer() {
delete [] buffer;
}
}