noreturn
Konkrétní společnosti Microsoft
Tento __declspec atribut kompilátoru sděluje, že funkce nevrátí.V důsledku kompilátor ví, že kód následující volání __declspec(noreturn) funkce nedostupný.
Pokud kompilátor najde funkce řízení cestou, která nevrací hodnotu, vygeneruje chybové zprávy (C2202) nebo upozornění (C4715).Pokud kvůli funkci, která vrací nikdy nelze dosáhnout cesty ovládacího prvku, můžete použít __declspec(noreturn) zabránit toto upozornění nebo chyba.
[!POZNÁMKA]
Přidání __declspec(noreturn) funkci, která zpět může způsobit nedefinované chování.
Příklad
V následující ukázce jinak klauzuli neobsahuje příkaz return.Deklarování fatal jako __declspec(noreturn) vyhýbá chybě nebo upozornění.
// noreturn2.cpp
__declspec(noreturn) extern void fatal () {}
int main() {
if(1)
return 1;
else if(0)
return 0;
else
fatal();
}