title: no instance of overloaded function "std::make_unique" matches the argument list, but works with unique_ptr constructor
body: <p>If I do:</p>
  
  <pre><code>std::unique_ptr&lt;AVFrame, AVFrameDeleter&gt; avFrameUniquePtr(av_frame_alloc());
  </code></pre>
  
  <p>I get no errors. Observe that</p>
  
  <pre><code>av_frame_alloc() 
  </code></pre>
  
  <p>returns <code>AVFrame*</code></p>
  
  <p>However if I do</p>
  
  <pre><code>std::unique_ptr&lt;AVFrame, AVFrameDeleter&gt;  avFrameUniquePtr = std::make_unique&lt;AVFrame,AVFrameDeleter&gt;(av_frame_alloc());
  </code></pre>
  
  <p>I get </p>
  
  <pre><code>no instance of overloaded function "std::make_unique" matches the argument list -- argument types are: (AVFrame *)
  </code></pre>
  
  <p>For me it should be ok. What's happening?</p>