title: error: ‘list’ is not a member of ‘std’ and error: template argument 2 is invalid
body: <p>I'm trying to compile my header file, but I'm getting errors I can't figure out.</p>
  
  <p>I want to create a struct that contains 3 maps:
  -map from single words to counts
  -map from word pairs to counts
  -map from single words to list of following words</p>
  
  <p>The code in my header file:</p>
  
  <pre><code>#include &lt;cstdlib&gt;
  #include &lt;iostream&gt;
  #include &lt;cstring&gt;
  #include &lt;string&gt;
  #include &lt;cctype&gt;
  #include &lt;vector&gt;
  #include &lt;algorithm&gt;
  #include &lt;map&gt;
  
  typedef struct {
  
      std::map&lt;std::string, int&gt; firstCounts;
      std::map&lt;std::string, int&gt; pairCounts;
      std::map&lt;std::string, std::list&lt;std::string&gt;&gt; follows; //You can use an iterator to retrieve the values stored in the list. 
  
  } LanguageModel;
  </code></pre>
  
  <p>And the errors I'm getting:</p>
  
  <pre><code>&gt;   LangModel.h:24:23: error: ‘list’ is not a member of ‘std’
  &gt;      std::map&lt;std::string, std::list&lt;std::string&gt;&gt; follows; //You can use an iterator to retrieve the values stored in the list. 
  &gt;                            ^
  &gt;     LangModel.h:24:23: error: ‘list’ is not a member of ‘std’
  &gt;     LangModel.h:24:38: error: template argument 2 is invalid
  &gt;      std::map&lt;std::string, std::list&lt;std::string&gt;&gt; follows; //You can use an iterator to retrieve the values stored in the list. 
  &gt;                                           ^
  &gt;     LangModel.h:24:38: error: template argument 4 is invalid
  &gt;     LangModel.h:24:44: error: expected unqualified-id before ‘&gt;’ token
  &gt;      std::map&lt;std::string, std::list&lt;std::string&gt;&gt; follows; //You can use an iterator to retrieve the values stored in the list.
  </code></pre>