Я получаю следующую ошибку в этой строке:
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
- это итератор для циклического буфера.
повышение :: cb_details :: итератор :: ссылки
boost :: cb_details :: iterator :: operator * () const [с
Buff = boost :: round_buffer, Traits =
boost :: cb_details :: nonconst_traits>,
boost :: cb_details :: iterator :: reference = char &]:
Утверждение `m_it! = 0 'не удалось.
Я даже отслеживал это в файле boost / циркулярный_буффер / detail.hpp
условие утверждения проверяет - указывает ли итератор на конец.
если он указывает на конец, он выбрасывает утверждение.
Заранее спасибо.