如何创建Bitset阵列队列?

时间:2015-05-18 13:04:02

标签: c++ queue bitset

我正在读取来自设备的14字节消息,并将它们存储在一组位集...

bitset<8> currentMessage[14];

我想创建这些消息的队列。 (理想情况下,我想要最后10条消息,但我认为这可能是另一个问题吗?limit size of Queue<T> in C++。)

如何创建此队列?

我试过......

std::queue<bitset> buttonQueue;

但我收到了以下错误:

  • 错误C2955:'std :: bitset':使用类模板需要模板参数列表
  • 错误C2133:'buttonQueue':未知大小
  • 错误C2512:'std :: queue':没有合适的默认构造函数

(N.B。我注意到Boost的循环缓冲区,对于我正在尝试做的事情,这可能是更合适的选择吗?)

我对c ++很陌生,任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

模板参数必须是完整且完整的类型。像std::bitset这样的模板化的类不是没有大小的完整类型。所以你需要这样做。

std::queue<bitset<8>> buttonQueue;

换句话说,您还需要提供位集大小。