title: c++ STL map.find() or map.operator[] cannot be used in class member function with const qualifier
body: <p>I'm confused by the following code, why it cannot be successfully compiled? </p>
  
  <pre><code>class Test { 
  public:
    int GetValue( int key ) const
    {
        return testMap[key];
    }
  
    map&lt;const int, const int&gt; testMap; 
  };
  </code></pre>
  
  <p>There is always a compling error:</p>
  
  <pre><code>error C2678: binary '[': no ​​operator found which takes "const std :: map &lt;_Kty,_Ty&gt;" type of the left operand operator (or there is no acceptable conversion).
  </code></pre>
  
  <p>I've tried to put const qualifier everywhere but it still couldn't pass. Could you tell me why?</p>