Как мне исправить эту ошибку?
ошибка C2668: 'std :: _ Tree <_Traits> :: end': неоднозначный вызов перегруженной функции
Мой код выглядит так:
typedef map<int const *, float> my_map_t;
my_map_t _test;
my_map_t::const_iterator not_found = my_map_t::end();
if (_test.find(&iKeyValue) == not_found) {
_test[iKeyValue] = 4 + 5; // not the actual code, but here for simplicity
}
Компилятор жалуется на неоднозначный вызов my_map_t :: end (). Это имеет смысл, потому что единственная разница - тип возвращаемого значения.
Обычно вы можете устранить неоднозначность вызова, приведя параметры, но end () не имеет параметров. Есть идеи?