【发布时间】:2012-03-10 13:27:57
【问题描述】:
我在这一行收到以下错误:
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::circular_buffer, Traits = boost::cb_details::nonconst_traits >, boost::cb_details::iterator::reference = char&]: 断言 `m_it != 0' 失败。
我什至已经将它跟踪到文件 boost/circular_buffer/detail.hpp
断言条件检查 - 迭代器是否指向结束。 如果它指向结束,则抛出断言。
提前致谢。
【问题讨论】:
-
我缩进、大写并修正了你的问题。请记住,您在问题上付出的努力越多,得到答案的可能性就越大。
-
非常感谢你,我一定会努力改善我的问题表现。
标签: c++ boost circular-buffer