__declspec(noreturn)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Schlüsselwörter alphabetisch - Index


Kategorie

Modifizierer, Zusätzliche Schlüsselwörter, Speicherklassen-Spezifizierer

Syntax

__declspec( noreturn ) deklarator

Mit diesem Attribut kann angegeben werden, dass die Steuerung aus einer Funktion nicht zurückgegeben wird. Der Compiler weiß dadurch, dass der Code nach dem Aufruf einer als __declspec(noreturn) deklarierten Funktion nicht erreichbar ist.

Trifft der Compiler auf eine Funktion, die keinen Wert zurückgibt, wird eine entsprechende Warnung generiert. Dies kann durch Deklarieren als __declspec(noreturn) verhindert werden.

Beispiel:

Die else-Klausel in diesem Beispiel enthält keine __declspec(noreturn)-Anweisung, um Fehler- und Warnmeldungen zu unterdrücken.

__declspec(noreturn) extern void fatal ()
{
   // Beliebige Anweisungen
}
int foo()
{
   if(...)
      return 1;
   else if(...)
      return 0;
   else
      fatal();
}

Siehe auch