title: std::initializer_list as function argument
body: <p>For some reason I thought C++0x allowed <code>std::initializer_list</code> as function argument for functions that expect types that can be constructed from such, for example <code>std::vector</code>. But apparently, it does not work. Is this just my compiler, or will this never work? Is it because of potential overload resolution problems?</p>
  
  <pre><code>#include &lt;string&gt;
  #include &lt;vector&gt;
  
  void function(std::vector&lt;std::string&gt; vec)
  {
  }
  
  int main()
  {
      // ok
      std::vector&lt;std::string&gt; vec {"hello", "world", "test"};
  
      // error: could not convert '{"hello", "world", "test"}' to 'std::vector...'
      function( {"hello", "world", "test"} );
  }
  </code></pre>