Condividi tramite


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();
}

Vedere anche

Riferimenti

__declspec

Parole chiave C++