В этой строке появляется следующая ошибка:
const short pcmSample = *reinterpret_cast<const short*>(*(buffer->index));
buffer
является объектом класса accumlator
.
Здесь я пытаюсь преобразовать байтовый массив в шорты. Код выдает эту ошибку времени выполнения и завершается.
class accumlator : public boost::circular_buffer<char>
{
public:
boost::circular_buffer<char>::iterator index;
};
Я инициализировал итератор, чтобы он указывал на начало буфера
и index
- итератор для кольцевого буфера.
boost :: cb_details :: iterator :: reference boost :: cb_details :: iterator :: operator * () const [with Buff = boost :: round_buffer, Traits = boost :: cb_details :: nonconst_traits>, boost :: cb_details :: iterator :: reference = char &]: утверждение `m_it! = 0 'не выполнено.
я даже отследил это в файле boost / round_buffer / detail.hpp
условие assert проверяет - указывает ли итератор на конец. если он указывает на конец, он выдает утверждение.
Заранее спасибо.