c++ - 在不使用 STL 的情况下构建队列队列

标签 c++ queue

我正在尝试构建可用于管理多个数据集的队列队列,但我不确定如何构建。简单声明queue<queue>不起作用并返回以下错误:

error: type/value mismatch at argument 1 in template parameter list for ‘template<class Type> class queue’
main.cpp:18: error:   expected a type, got ‘queue’
main.cpp:18: error: invalid type in declaration before ‘;’ token
make: *** [main.o] Error 1

是否有可能实现这种数据结构,如果可以,我应该怎么做?

注意:这是一个类作业,我们需要自己编写队列代码而不是使用标准模板库。

最佳答案

一个队列必须有一个类型。您正在创建一个队列队列......什么都没有。所以它正在读取 token queue<里面和 >作为错误,而不是类型。 queue从技术上讲,它不是一种类型。 queue<int>是一种类型。

你想写你自己的队列类还是你自己的队列类?我的建议是编写您自己的模板化队列类...然后将该模板实例化为值类型。

队列的队列 int秒? queue< queue<int> > .无论是 STL 队列还是您自己的队列。

注意:重要的是,当您使用一个模板类型作为另一个模板的参数时,您必须在它周围放置空格。这是因为 >>queue<queue<int>>被解释为 >>运算符,由于解析中的“最大蒙克”规则。完全不相关的笔记,写了很多次的单词队列开始弄乱你的眼睛......

关于c++ - 在不使用 STL 的情况下构建队列队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5053769/

相关文章:

c# - 在 c# 和 c 函数之间传递值和指针

java - 在 gs-collections 库中寻找排序堆和并发队列

python - 限制python中的线程数量

c++ - 为什么++(后增量运算符)不能是左值?

c++ - 数中的最大整数

c++ - 具有继承性的未初始化指针对象

node.js - 在单个进程中排队 javascript 代码

c++ - 用 PolarSSL 替换 OpenSSL

c - 哪种循环队列的实现最好?

在 C 中为 *nix 创建线程安全的定时队列