noreturn

Microsoft-spezifisch

Dieses __declspec-Attribut weist den Compiler an, dass keine Funktion zurückgegeben wird.Folglich weiß, dass der Compiler Code, der einem Aufruf einer Funktion folgt __declspec (noreturn) nicht erreichbar ist.

Wenn der Compiler eine Funktion mit einem Kontrollpfad findet, der keinen Wert zurückgibt, wird eine Warnung (C4715) oder Fehlermeldung (C2202).Wenn der Kontrollpfad wegen einer Funktion, die niemals erreicht werden kann, können Sie dem Beenden __declspec (noreturn) verwenden, um diese Warnung oder Fehler zu verhindern.

HinweisHinweis

Das Hinzufügen von __declspec (noreturn) auf eine Funktion, die erwarteten zurückzugeben, kann ein nicht definiertes Verhalten zur Folge haben.

Beispiel

Im folgenden Beispiel enthält die Andernfalls-Klausel keine return-Anweisung.Das Deklarieren von fatal als __declspec (noreturn) einen Fehler oder eine Warnung zu vermeiden.

// noreturn2.cpp
__declspec(noreturn) extern void fatal () {}

int main() {
   if(1)
     return 1;
   else if(0)
     return 0;
   else
     fatal();
}

Siehe auch

Referenz

__declspec

C++-Schlüsselwörter