title: 'hash_map' was not declared in this scope with g++ 4.2.1
body: <p>I am trying to use sgi hash_map. </p>
  
  <pre><code>#include &lt;list&gt;
  #include &lt;iostream&gt;
  #include &lt;string&gt;
  #include &lt;map&gt;
  #include &lt;cstring&gt;
  #include &lt;tr1/unordered_map&gt;
  #include &lt;ext/hash_map&gt;
  
  
  using namespace std;
  struct eqstr
  {
    bool operator()(const char* s1, const char* s2) const
    {
      return strcmp(s1, s2) == 0;
    }
  };
  
  
  int main()
  {
    hash_map&lt;const char*, int, hash&lt;const char*&gt;, eqstr&gt; months;
  
    months["january"] = 31;
    months["february"] = 28;
    months["march"] = 31;
    months["april"] = 30;
    months["may"] = 31;
    months["june"] = 30;
    months["july"] = 31;
    months["august"] = 31;
    months["september"] = 30;
    months["october"] = 31;
    months["november"] = 30;
    months["december"] = 31;
  
    cout &lt;&lt; "september -&gt; " &lt;&lt; months["september"] &lt;&lt; endl;
    cout &lt;&lt; "april     -&gt; " &lt;&lt; months["april"] &lt;&lt; endl;
    cout &lt;&lt; "june      -&gt; " &lt;&lt; months["june"] &lt;&lt; endl;
    cout &lt;&lt; "november  -&gt; " &lt;&lt; months["november"] &lt;&lt; endl;
  } 
  </code></pre>
  
  <p>on gcc4.2 I am getting the error </p>
  
  <pre><code>listcheck.cc: In function 'int main()':
  listcheck.cc:22: error: 'hash_map' was not declared in this scope
  listcheck.cc:22: error: expected primary-expression before 'const'
  listcheck.cc:22: error: expected `;' before 'const'
  listcheck.cc:24: error: 'months' was not declared in this scope
  </code></pre>
  
  <p>while the same code compile with 3.4.</p>