使用自定义类的Deque不能push_back

Deque using custom class cannot push_back

本文关键字:不能 push back Deque 自定义      更新时间:2023-10-16

当尝试push_back一个新的自定义对象时,我得到以下错误:

prog7.cpp:66: error: no matching function for call to 
    ‘std::deque<Job, std::allocator<Job>     >::push_back(Job*)’
    /usr/include/c++/4.4/bits/stl_deque.h:1201: note: candidates 
    are: void std::deque<_Tp, _Alloc>::push_back(const _Tp&) 
    [with _Tp = Job, _Alloc = std::allocator<Job>]

相关代码如下:

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

我在这里做错了什么吗?

说:

jobs.push_back(Job());         // copy from a default-initialized object

或:

jobs.emplace_back();           // direct-initialize a new object