title: std::map::operator[] behaving strangely
body: <p>I don't know what I did wrong but I have a map:</p>
  
  <pre><code>std::map&lt;std::pair&lt;ID, ID&gt;, std::queue&lt;Datum&gt;&gt; readQueues;
  </code></pre>
  
  <p>Everything's fine until I call <code>readQueues[std::make_pair(src, dst)];</code> and then I get an error that my arguments do not match the arguments of the function. The funny thing is that the whole thing works with <code>std::map::find</code> and <code>map::at</code> with the exact same arguments... Any ideas?</p>