Обновить

Комментарии 3

По стандарту C++ ([stmt.return]) выход за конец такой функции — неопределённое поведение

В лучших традициях. Если по стандарту UB то надо сделать максимальную гадость. Вот кто мешал на этот случай делать return 0. Или не компилировать по умолчанию. Но нет вместо лишних 3 байт надо создать проблемы на ровном месте.

ps: До сих пор не видел в стандарте места, где навязывают делать максимизировать ущерб в случае UB.

Вот кто мешал на этот случай делать return 0

Отсутствие return может свидетельствовать о серьёзной проблеме в логике функции, которую таким образом только замаскируют и усугубят.

-Werror=return-type? Вроде отличная диагностика проблемы

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации