Пока не могу писать комментарии, но,
Как писал Nunchy, tmp не определено в этом контексте.Я также заметил, что ваш код никогда не увеличивает итератор карты, что приводит к бесконечному циклу.
Я предполагаю, что вы не скопировали свой фактический код в свой пост, а вместо этого переписали его поспешно, что привело к некоторымопечатки, но если нет, попробуйте убедиться, что вы используете temp , а не tmp при вызове strcmp, и убедитесь, что цикл фактически увеличивает итератор.
Как и в одном из комментариев к вашему сообщению, убедитесь, что у вас действительно есть данные на карте и параметр функции.