2013-05-02 67 views
1

分配新的自定义对象我目前有:从双端队列C++

deque<Job> jobs; 
jobs.push_back(Job(1)); 

在哪里工作是我做了一个自定义类(很简单,只是有一个工号),和我想要做的是以下几点:

Job currentJob = jobs.pop_front(); 

但是,这给了我错误。如何完成将弹出的作业分配给新作业?

+0

请包括一些错误信息。 – 2013-05-02 23:27:44

+0

'pop_front()'是一个无效函数 – tianz 2013-05-02 23:29:32

+0

您是否试图给列表中的一个销毁对象分配一个Job值?这是不可能的,是吗? – 2013-05-02 23:29:49

回答

7

从文档引用:

空隙pop_front();

删除第一个元素 删除deque容器中的第一个元素,有效地将其大小减1。

这会销毁已移除的元素。

pop_front() 

破坏对象,您可能需要尝试:

Job currentJob = jobs.front(); 
jobs.pop_front(); //remove the object from container and reduce size by 1 

更多信息请参见std::deque::pop_front

1

你想这是什么

Job currentJob = jobs.front(); 
jobs.pop_front();