title: c++11 - initialize std::string from char* directly with {} constructor
body: <p>I have a function which accepts a <code>std::string&amp;</code>:</p>
  
  <pre><code>void f(std::string&amp; s) { ... }
  </code></pre>
  
  <p>I have a <code>const char*</code> which should be the input parameter for that function. This works:</p>
  
  <pre><code>const char* s1 = "test";
  std::string s2{s};
  f(s2);
  </code></pre>
  
  <p>This doesn't:</p>
  
  <pre><code>const char* s1 = "test";
  f({s1});
  </code></pre>
  
  <p>Why isn't this possible? The funny thing is that CLion IDE is not complaining, but the compiler is:</p>
  
  <pre><code>no known conversion for argument 1 from ‘&lt;brace-enclosed initializer list&gt;’ to ‘std::basic_string&lt;char&gt;&amp;’
  </code></pre>