C++ Ambiguous call to Overloaded Function (const variety)
<p>After researching this online, I've only found solutions that don't apply to my problem, so please bear with me. Code snippet:</p>

<pre><code>typedef map&lt;int const *, float&gt; my_map_t;
my_map_t _test;
my_map_t::const_iterator not_found = my_map_t::end();
if (_test.find(&amp;iKeyValue) == not_found) {
   _test[iKeyValue] = 4 + 5; // not the actual code, but here for simplicity
}
</code></pre>

<p>The compiler complains that there's an ambiguous call to my_map_t::end(). This makes sense, because the only difference is the return type. </p>

<p>Output:</p>

<pre><code>error C2668: 'std::_Tree&lt;_Traits&gt;::end' : ambiguous call to overloaded function
</code></pre>

<p>Normally you can disambiguate the call by casting the parameters, but end() has no parameters. Any ideas?</p>
