title: error: non-aggregate type 'vector<string>' cannot be initialized with an initializer list
body: <p>I'm new to C++ and is trying to learn the concept of vector. However, when I run the code below:</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;string&gt;
  #include &lt;vector&gt;
  using namespace std;
  
  int main(){
  
      vector&lt;string&gt; vs1 = {"a", "an", "the"};
  
      return 0;
  }
  </code></pre>
  
  <p>The IDE output error message:</p>
  
  <pre><code>error: non-aggregate type 'vector&lt;string&gt;' cannot be initialized with an initializer list
      vector&lt;string&gt; vs1 = {"a", "an", "the"};
                     ^     ~~~~~~~~~~~~~~~~~~
  </code></pre>
  
  <p>I thought the new C++ standard allow initialisation of a vector from a list of zero or more initial element values enclosed in curly braces. So why the error message?</p>
  
  <p>P.s -- Using auto (which is also introduced in c++11) is fine on my NetBean IDE</p>