Questa pagina è stata utile?
I suggerimenti relativi al contenuto di questa pagina sono importanti. Comunicaceli.
Altri suggerimenti?
1500 caratteri rimanenti
Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto manualmente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

noreturn

Questo attributo __declspec indica al compilatore che la funzione non restituisce un valore. Di conseguenza, per il compilatore è evidente che il codice che segue una chiamata a una funzione __declspec(noreturn) non è eseguibile.

Se il compilatore rileva una funzione con un percorso di controllo che non restituisce un valore, viene generato un avviso (C4715) o un messaggio di errore (C2202). Se il percorso di controllo non può essere raggiunto a causa di una funzione che non restituisce mai un valore, è possibile utilizzare __declspec(noreturn) per evitare il messaggio di errore o l'avviso.

Nota Nota

L'aggiunta di __declspec(noreturn) a una funzione che si prevede restituisca un valore può determinare un comportamento indefinito.

Nell'esempio seguente, la clausola else non contiene un'istruzione return. Dichiarare fatal come __declspec(noreturn) consente di evitare il messaggio di errore o l'avviso.

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

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

Aggiunte alla community

Mostra:
© 2015 Microsoft