Partager via


noreturn

Spécifique à Microsoft

Cet attribut d' __declspec indique au compilateur qu'une fonction ne retourne pas.Par conséquent, le compilateur sait que le code suivant un appel à une fonction de __declspec (noreturn) est inaccessible.

Si le compilateur recherche une fonction avec un chemin d'accès de contrôle qui ne retourne pas de valeur, il génère un avertissement (C4715) ou le message d'erreur (C2202).Si le chemin d'accès de contrôle ne peut pas être atteint en raison d'une fonction que jamais retourne, vous pouvez utiliser __declspec (noreturn) pour éviter cet avertissement ni erreur.

[!REMARQUE]

L'ajout __declspec (noreturn) à une fonction censée retourner la valeur peut entraîner un comportement indéfini.

Exemple

Dans l'exemple suivant, la clause de sinon ne contient pas d'instruction return.Déclarer fatal comme __declspec (noreturn) éviter une erreur ou un message d'avertissement.

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

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

Voir aussi

Référence

__declspec

Mots clés C++