title: Compile error using map iterators
body: <p>In my header file I have included the std::map and use the appropriate namespace.<br>
  One of my members is:</p>
  
  <pre><code>map&lt;unsigned int, double&gt; pT_Spam;
  </code></pre>
  
  <p>And in my .cpp file I attempt to do something that I have been doing frequently for some time now:</p>
  
  <pre><code>for(map&lt;unsigned int, double&gt;::iterator it=pT_Spam.begin() ; it!=pT_Spam.end() ; it++) {/*code*/}
  </code></pre>
  
  <p>The above is even mentioned in one the examples of using std::map at cplusplus.com . Even though I have done pretty much the same in other parts of the code which cause no compile errors, on this particular line I get the following error from Cygwin:</p>
  
  <pre><code>error: conversion from `std::_Rb_tree_const_iterator&lt;std::pair&lt;const unsigned int, double&gt; &gt;' to non-scalar type `std::_Rb_tree_iterator&lt;std::pair&lt;const unsigned int, double&gt; &gt;' requested
  </code></pre>
  
  <p>Which seems rather strange. Any idea what might be wrong? (my header is, of course, included in my .cpp)</p>