Я пытаюсь создать шаблонную функцию, которая будет перебирать определенные пары ключ / значение на карте и проверять, существуют ли какие-либо ключи, указанные в параметрах функции.
Реализация выглядит следующим образом:
Код
template < class Key, class Value >
bool CheckMapForExistingEntry( const std::map< Key, Value >& map, const std::string& key )
{
std::map< Key, Value >::iterator it = map.lower_bound( key );
bool keyExists = ( it != map.end && !( map.key_comp() ( key, it->first ) ) );
if ( keyExists )
{
return true;
}
return false;
}
Тем не менее, по какой-то причине я не могу понять, почему мой код не скомпилируется. Вместо этого я получаю следующие ошибки:
error: expected ';' before 'it'
error: 'it' was not declared in this scope
Я сталкивался с этим раньше, но обычно это было из-за ошибок, которые я сделал, которые легко заметить. Что здесь может происходить?