title: tuple vector and initializer_list
body: <p>I tried to compile the following snippets with gcc4.7</p>
  
  <pre><code>vector&lt;pair&lt;int,char&gt; &gt; vp = {{1,'a'},{2,'b'}};
  //For pair vector, it works like a charm.
  
  vector&lt;tuple&lt;int,double,char&gt; &gt; vt = {{1,0.1,'a'},{2,4.2,'b'}};
  </code></pre>
  
  <p>However, for the vector of tuples, the compiler complains:</p>
  
  <blockquote>
    <p>error: converting to ‘std::tuple’ from initializer list would use explicit constructor ‘constexpr std::tuple&lt;  >::tuple(_UElements&amp;&amp; ...) [with _UElements = {int, double, char};  = void; _Elements = {int, double, char}]’</p>
  </blockquote>
  
  <p>The error info spilled by the compiler is total gibberish for me, and I have no idea how were the constructors of tuple implemented, yet I do know they're totally okay with uniform initialization (like: <code>tuple&lt;int,float,char&gt;{1,2.2,'X'}</code>), therefore, I wonder if the problem I encountered is only a TODO of the compiler or it's something defined by the C++11 standard.</p>