Здесь, как и в проверке, всего два значения, но нельзя быть уверенным, что в будущем не появятся дополнительные элементы. Поэтому следует сделать так, чтобы функция всегда возвращала значение для всех веток выполнения, либо чтобы код не компилировался. В качестве исправления я могу предложить такой вариант (до C++23 он выглядит так):
единороги прикольные, а что за текст я не понял, опять наверно не ту кириллицу использовали
Самую тупую ошибку видел вчера. Попал в руки исходник протокола общения с одной железкой на доделку от программиста, у которого опыт лет на 10 больше моего. Всё работает, но тут, то там всплывают странные ошибки, которые ещё и не всегда воспроизводятся, а когда воспроизводятся, то с разными результатами. Пару часов сидел с отладчиком с умным видом, побитово анализируя ответы от железки и не понимая, что не так. Потом за минуту проинициализировал нулями все члены класса, которые как битовые флаги работают, и всё заработало норм. Qt-шная студия при этом молчала, даже предупреждений не выдавала.
Поставил лайк, типа понял что там написано, шайтаны