differente
Specifici di Microsoft
ciò __declspec l'attributo indica al compilatore che una funzione non restituisce.Di conseguenza, il compilatore riconosce che il codice che segue una chiamata a un oggetto __declspec (noreturn) la funzione non è eseguibile.
Se il compilatore trova una funzione con un percorso del controllo che non restituisce un valore, viene generato un avviso (C4715) o il messaggio di errore (C2202).Se il percorso del controllo non può essere raggiunto a causa di una funzione che non restituisce mai, è possibile utilizzare __declspec (noreturn) per evitare questo avviso o errore.
[!NOTA]
aggiunta __declspec (noreturn) a una funzione che è previsto che restituisca può generare un comportamento indefinito.
Esempio
Nell'esempio seguente, in caso contrario la clausola non contiene un'istruzione return.dichiarazione fatal come __declspec (noreturn) evita un messaggio di errore o un avviso.
// noreturn2.cpp
__declspec(noreturn) extern void fatal () {}
int main() {
if(1)
return 1;
else if(0)
return 0;
else
fatal();
}