Особая ошибка, которую вы получаете, заключается в том, что очередь является классом шаблона, поэтому вам нужно указывать аргумент для него везде, где вы его используете.Таким образом, запись
queue<queue>
недопустима, поскольку внутренняя очередь не параметризуется ни для чего.
Определенно возможно написать собственную очередь очередей - фактически, можно написать любую изклассы контейнеров STL - но начинать с использования очереди - неправильный способ сделать это.Если вы хотите создать очередь из очередей, начните с размышлений о том, как сделать простую очередь.Какую реализацию вы бы использовали?Как бы вы отслеживали количество элементов?Будет ли работать динамический массив?Как насчет связанного списка, хеш-таблицы или дерева двоичного поиска?У каждой структуры есть свои плюсы и минусы, поэтому обязательно подумайте, прежде чем начинать.
Как только у вас будет хорошая реализация очереди, вы можете параметризовать ее, чтобы сделать свою очередь шаблоном, из которого вы легко сможетесделать очередь из очередей.
Надеюсь, это поможет, и удачи!