title: emplace_back and VC++ frustration
body: <p>I'm using Visual Studio 2012, trying this both with the default compiler and the Nov CTP compiler, and the following below shows my problem:</p>
  
  <pre><code>struct doesCompile
  {
      int mA, mB, mC, mD, mE;
  
      doesCompile(int a, int b, int c, int d, int e) : mA(a), mB(b), mC(c), mD(d), mE(e)
      { 
      }
  };
  
  struct doesNotCompile
  {
      int mA, mB, mC, mD, mE, mF;
  
      doesNotCompile(int a, int b, int c, int d, int e, int f) : mA(a), mB(b), mC(c), mD(d), mE(e), mF(f)
      { 
      }
  };
  
  
  int _tmain(int argc, _TCHAR* argv[])
  {
      std::vector&lt;doesCompile&gt; goodVec;
      goodVec.emplace_back(1, 2, 3, 4, 5);
  
      std::vector&lt;doesNotCompile&gt; badVec;
      badVec.emplace_back(1, 2, 3, 4, 5, 6);  //  error C2660: 'std::vector&lt;_Ty&gt;::emplace_back' : function does not take 6 arguments
  
      return 0;
  }
  </code></pre>
  
  <p>Why on earth does it seem emplace_back is capped at a maximum of 5 arguments?? They even say in <a href="http://blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx" rel="nofollow">http://blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx</a> that it would take an arbitary amount of arguments.. </p>
  
  <p>Is there any way around this, using VS2012?</p>