title: initialize an array of unique_ptrs
body: <p>I'm trying to build an entity-component class which stores components in a vector of std::arrays of std::unique_ptrs of derived Component pointers, like so:</p>
  
  <pre><code>vector&lt;pair&lt;int, array&lt;unique_ptr&lt;Component&gt;, 32&gt;&gt;&gt; components;
  </code></pre>
  
  <p>When trying to create a new array for a new component, though, even using move(), I wind up getting the following error:</p>
  
  <pre><code>this-&gt;count++;
  vector&lt;pair&lt;int, array&lt;unique_ptr&lt;Component&gt;, 32&gt;&gt;&gt; component_set;
  this-&gt;components.emplace_back(make_pair(this-&gt;count, move(component_set)));
  
      Error   1   error C2248: 'std::unique_ptr&lt;_Ty&gt;::unique_ptr' : 
      cannot access private member declared in class 'std::unique_ptr&lt;_Ty&gt;'   
      c:\program files\microsoft visual studio 11.0\vc\include\array  211 1   
      entity
  </code></pre>
  
  <p>is this a problem with using the std::array class, or am I just doing this entirely wrong (which is possible?)</p>