我目前有:
deque<Job> jobs;
jobs.push_back(Job(1));
其中 Job 是我制作的一个自定义类(真的很简单,只有一个工作编号),我想做的是以下内容:
Job currentJob = jobs.pop_front();
但是,这给了我错误。如何完成将弹出的作业分配给新作业?
我目前有:
deque<Job> jobs;
jobs.push_back(Job(1));
其中 Job 是我制作的一个自定义类(真的很简单,只有一个工作编号),我想做的是以下内容:
Job currentJob = jobs.pop_front();
但是,这给了我错误。如何完成将弹出的作业分配给新作业?
引用文档:
无效pop_front();
删除第一个元素 删除双端队列容器中的第一个元素,有效地将其大小减小一个。
这会破坏移除的元素。
pop_front()
销毁对象,您可能需要尝试:
Job currentJob = jobs.front();
jobs.pop_front(); //remove the object from container and reduce size by 1
有关更多信息,请参阅std::deque::pop_front。
你想要的是这个
Job currentJob = jobs.front();
jobs.pop_front();