title: Why can an aggreggate struct be brace-initialized, but not emplaced using the same list of arguments as in the brace initialization?
body: <p>It seems like <a href="http://coliru.stacked-crooked.com/a/eaaba108fb9a610e" rel="noreferrer">this code</a>:</p>
  
  <pre><code>#include &lt;string&gt;
  #include &lt;vector&gt;
  
  struct bla
  {
      std::string a;
      int b;
  };
  
  int main()
  {
      std::vector&lt;bla&gt; v;
      v.emplace_back("string", 42);
  }
  </code></pre>
  
  <p>could be made to work properly in this case, but it doesn't (and I understand why). Giving <code>bla</code> a constructor solves this, but removes the aggregateness of the type, which can have far-reaching consequences.</p>
  
  <p>Is this an oversight in the Standard? Or am I missing certain cases where this will blow up in my face, or is it just not as useful as I think?</p>