Почему программа не заходит в цикл?

При введении правильных данных то есть такого имени которое имеется в списке, программа пишет что елемент не найден. При отладке я понял что программа не заходит в цикл. Подозреваю что где-то очень глупая ошибка. Надеюсь на помощь. Код прилагается:
for (auto& it : menu)
{
	if (it.getName() == name)
	{
		cout << it << endl;
		return;
	}
}
cout << "There are no dish with name \"" << name << "\". Try again!" << endl;
  • Вопрос задан
  • 192 просмотра
Решения вопроса 1
RiseOfDeath
@RiseOfDeath
Диванный эксперт.
Не хватает определения it.getName() и name, но я и так предполагаю (хотя без нужных кусков кода не могу быть уверенным на 100%) почти наверняка программа заходит в цикл, обходит весь список menu, и каждый раз на условии it.getName() == name сравнивает адреса (а они наверняка разные), хотя вам, наверное, нужно сравнить непосредственно содержимое.

Попробуйте https://www.cplusplus.com/reference/string/string/...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы