Я читаю в 14 байт сообщения с устройства и хранить их в массиве bitsets ...Как создать очередь массивов битцет?
bitset<8> currentMessage[14];
Я хочу, чтобы создать очередь из этих сообщений. (В идеале я хочу последние 10 сообщений, но я думаю, что это может быть целый вопрос? limit size of Queue<T> in C++.)
Как создать эту очередь?
Я пытался ...
std::queue<bitset> buttonQueue;
, но я получил следующие ошибки:
- ошибка C2955: 'зЬй :: BitSet': использование шаблона класса требует список аргументов шаблона
- ошибка C2133: 'buttonQueue': неизвестный размер
- ошибка C2512: 'std :: queue': не существует соответствующего конструктора по умолчанию
(N.B. Я заметил круговой буфер Boost, может ли это быть более подходящей альтернативой тому, что я пытаюсь сделать?)
Я довольно новичок в C++, может ли кто-нибудь помочь мне?
Не нужно что-то вроде std :: queue [14]> buttonQueue; поскольку каждое сообщение представляет собой массив из 14 битов каждого размера 8? –
@KevinPaton Обработка простых массивов может быть проблематичной с помощью шаблонов и вообще обходить. Вместо этого я предлагаю вам использовать ['std :: array'] (http://en.cppreference.com/w/cpp/container/array), тогда вы можете сделать это, например. 'std :: queue, 14 >>', очередь будет содержать простые простые объекты, которые по сути являются массивами битов. –