Комментарии 3
По стандарту C++ ([stmt.return]) выход за конец такой функции — неопределённое поведение
В лучших традициях. Если по стандарту UB то надо сделать максимальную гадость. Вот кто мешал на этот случай делать return 0. Или не компилировать по умолчанию. Но нет вместо лишних 3 байт надо создать проблемы на ровном месте.
ps: До сих пор не видел в стандарте места, где навязывают делать максимизировать ущерб в случае UB.
-Werror=return-type? Вроде отличная диагностика проблемы
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Что исполняет C++-программа при пропущенном return после сборки с -O2