Namespaces
Variants

C attribute: noreturn, _Noreturn (since C23)

From cppreference.net

Indica que la función no retorna.

Contenidos

Sintaxis

[[ noreturn ]]
[[ __noreturn__ ]]
[[ _Noreturn ]]
[[ ___Noreturn__ ]]
(obsoleto)

Explicación

Indica que la función no retorna.

Este atributo se aplica al nombre de la función y especifica que la función no retorna mediante la ejecución de la sentencia return ni al alcanzar el final del cuerpo de la función (puede retornar ejecutando longjmp ). El comportamiento es indefinido si la función con este atributo realmente retorna. Se recomienda un diagnóstico del compilador si esto puede detectarse.

Anteriormente se denotaba mediante la palabra clave _Noreturn hasta que quedó obsoleta desde C23 y fue reemplazada por este atributo.

Biblioteca estándar

Las siguientes funciones estándar se declaran con el atributo noreturn (solían declararse con el especificador _Noreturn hasta C23):

Véase también

Documentación de C para _Noreturn
Documentación de C++ para [[noreturn]]