#cpp
Можно ли объявить функцию main как noexcept? int main() noexcept {} Компилируется нормально на ideone https://ideone.com/Pag79s
Ответы
Ответ 1
До C++17 было можно, начиная с C++17 - нельзя. Но компиляторам разрешается поддерживать такое (как и любое другое 'нетрадиционное') объявление main. [basic.start.main]/2 2 ... An implementation shall allow both (2.1) — a function of () returning int and (2.2) — a function of (int, pointer to pointer to char) returning int as the type of main ([dcl.fct]). Заметьте, написано "as the type of main". noexcept является частью типа функции (начиная с С++17), так что раз он не упоминается, то ставить его нельзя. На англоSO есть схожий вопрос: Can main() have an exception specification?
Комментариев нет:
Отправить комментарий