Атрибут C: noreturn, _Noreturn (с C23)
Указывает, что функция не возвращает значение.
Синтаксис
[[ noreturn ]][[ __noreturn__ ]] | ||
[[ _Noreturn ]][[ ___Noreturn__ ]] | (устарело) |
Объяснение
Указывает, что функция не возвращает значение.
Этот атрибут применяется к имени функции и указывает, что функция не возвращает значение ни по оператору return, ни дойдя до конца тела функции (она может вернуть значение, выполнив longjmp). Поведение неопределенно, если функция с этим атрибутом фактически возвращает значение. Рекомендуется диагностика компилятора, если это можно обнаружить.
Ранее он обозначался ключевым словом _Noreturn, пока не устарел с C23 и не был заменён этим атрибутом.
Стандартная библиотека
Следующие стандартные функции объявлены с атрибутом noreturn (раньше они объявлялись с _Noreturn спецификатором до C23):
См. также
Документация C по _Noreturn |
|
Документация C++ по [[noreturn]] |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/language/attributes/noreturn