我正在尝试构建可用于管理多个数据集的队列队列,但我不确定如何构建。简单声明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/