typename traits_type = char_traits<char_type>>
class custom_buf: public basic_streambuf<char_type, traits_type>
{
...
public:
virtual int_type overflow(int_type c = traits_type::eof()) override;
};
template<typename char_type, typename traits_type>
custom_buf<char_type, traits_type>::int_type
custom_buf<char_type, traits_type>::overflow(int_type c)
{
/* other code */
ptrdiff_t sz = pptr() - pbase(); // Error: pptr() is undefined, pbase() is too.
}
Из-за чего может возникать такая ошибка? Наследуюсь, насколько я понимаю, правильно; посмотрел реализацию в самом basic_streambuf<...>::pptr(), тоже все верно, то есть ничего переопределять не нужно.
введи зависимости от типа шаблона this->pptr() - this->pbase() при поиске имен
Обсуждают сегодня