c++ no matching function for call to vector push_back
<p>I have a vector like this:</p>

<pre><code>std::vector&lt;std::unique_ptr&lt;Service&gt; &gt; m_vec;
</code></pre>

<p>I can run push_back like this:</p>

<pre><code>m_vec.push_back(std::make_unique&lt;Service&gt;());
</code></pre>

<p>But when I run it like this:</p>

<pre><code>std::unique_ptr&lt;Service&gt; pt = std::make_unique&lt;Service&gt;();
m_vec.push_back(pt);
</code></pre>

<p>I got error <code>no matching function for call to ‘std::vector&lt;std::unique_ptr&lt;Service&gt; &gt;::push_back(std::unique_ptr&lt;Service&gt;&amp;)</code></p>

<p>Does <code>&amp;</code> mean that I'm pushing a reference to the vector? If so, why can't I push a reference?</p>