Namensräume
Varianten
Aktionen

C-Attribut: noreturn, _Noreturn (seit C23)

Von cppreference.com
< c‎ | Sprache‎ | Attribute

Gibt an, dass die Funktion nicht zurückkehrt.

Inhalt

[bearbeiten] Syntax

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

[bearbeiten] Erklärung

Gibt an, dass die Funktion nicht zurückkehrt.

Dieses Attribut gilt für den Namen der Funktion und gibt an, dass die Funktion nicht durch Ausführung der `return`-Anweisung oder durch Erreichen des Endes des Funktionskörpers zurückkehrt (sie kann durch Ausführung von longjmp zurückkehren). Das Verhalten ist undefiniert, wenn die Funktion mit diesem Attribut tatsächlich zurückkehrt. Eine Compiler-Diagnose wird empfohlen, wenn dies erkannt werden kann.

Sie wurde zuvor durch das Schlüsselwort _Noreturn bezeichnet, bis es seit C23 veraltet erklärt und durch dieses Attribut ersetzt wurde.

[bearbeiten] Standardbibliothek

Die folgenden Standardfunktionen sind mit dem Attribut noreturn deklariert (sie waren bis C23 mit dem Spezifikator _Noreturn deklariert)

[bearbeiten] Siehe auch

C-Dokumentation für _Noreturn
C++-Dokumentation für [[noreturn]]