首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过Multiset创建优先级队列

通过Multiset创建优先级队列
EN

Stack Overflow用户
提问于 2015-05-02 08:22:44
回答 1查看 131关注 0票数 0

我正在为class分配任务,其中我们必须使用multiset创建一个优先级队列对象。我很清楚该怎么做,但我在multiset的语法上遇到了一点小问题。下面是我的优先级队列的类定义:

代码语言:javascript
复制
template< typename E >
class MyPriorityQueue
{
public:
    MyPriorityQueue();
    ~MyPriorityQueue();

    MyPriorityQueue(const MyPriorityQueue &);
    MyPriorityQueue operator=(const MyPriorityQueue &);

    void put(E item);
    E get();
    bool empty();
    int size();

private:
    multiset<E> queue;
};

当我编译代码时,我在"multiset queue“行得到关于”缺少类型说明符“和”‘;’之前的意外令牌“的错误消息。我可能不正确地格式化了这一行,或者我假设multiset只能用来存储一个变量,这是错误的吗?

任何帮助都是非常感谢的。:)非常感谢您的宝贵时间!

EN

回答 1

Stack Overflow用户

发布于 2015-05-02 08:26:59

如果您有可从优先级队列类访问的using namespace std;,则queue是一种类型。这么说吧

代码语言:javascript
复制
 multiset<E> queue;

是非法的。

不要在头文件中使用#using namespace语句,原因包括其他原因。将queue重命名为其他名称,例如myQ,但一定要从.h或其中包含的某个文件中删除#using namespace std

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29996933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档