这段简单的代码将2 calendar_SelectionChanged
添加到循环缓冲区。
href
不幸的是,似乎没有添加任何对象,bool
为零。有人可以帮我找出原因吗?
答案 0 :(得分:3)
您没有设置circular_buffer
的容量。
现在构造函数没有分配任何内存,容量和大小都设置为零。还要注意当将元素插入零容量的circular_buffer时(例如通过push_back(const_reference)或insert(iterator,value_type)),不会插入任何内容,并且大小(以及容量)保持为零。
因此,您应该构建缓冲区:
size_t const BUFFER_CAPACITY(1024); // Whatever is appropriate
boost::circular_buffer<bool> stuff(BUFFER_CAPACITY);
另一种方法是使用set_capacity(...)
方法在构建后执行此操作:
boost::circular_buffer<bool> stuff;
// ...
size_t BUFFER_SIZE(1024); // Whatever is appropriate
stuff.set_capacity(BUFFER_CAPACITY);
答案 1 :(得分:2)
没关系,我忘了指定缓冲区的容量。但是,Boost让我逃脱它是令人讨厌的。