Sine you're using c++, why not just use one of the data-types from the STL?
You've got std::queue, which appears likely to be just what you need.
If you can't use an existing one, it's not that difficult to implement a queue yourself. Conceptually, it's just a list - a list in which you must add new items to the end(tail) and with which you must remove elements from the start(head).
Here's an example of std::queue in use:
http://www.cplusplus.com/reference/stl/queue/pop/[
^]