Sdílet prostřednictvím


noreturn

Specifické pro produkty společnosti Microsoft

Tento atribut __declspec kompilátoru říká, že funkce neprovede navrácení.V důsledku toho kompilátor ví, že je kód následující volání funkce __declspec(noreturn) nedostupný.

Pokud kompilátor najde funkci s cestou řízení, která nevrací hodnotu, vygeneruje upozornění (C4715) nebo chybovou zprávu (C2202).Pokud nelze cesty řízení nikdy dosáhnout z důvodu, že funkce nevrací hodnotu, lze použít atribut __declspec(noreturn), pokud chcete tomuto upozornění nebo chybě zabránit.

[!POZNÁMKA]

Přidání atributu __declspec(noreturn) funkci, která očekává navrácení, může způsobit nedefinované chování.

Příklad

V následujícím příkladu klauzule else neobsahuje příkaz return. Deklarování funkce fatal s atributem __declspec(noreturn) zabrání chybě nebo upozornění.

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

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

Viz také

Referenční dokumentace

__declspec

Klíčová slova jazyka C++