Udostępnij za pośrednictwem


noreturn

Programu Microsoft

To __declspec atrybut informuje kompilator, funkcja nie zwraca.W rezultacie kompilator orientuje się, że kod po wywołaniu __declspec(noreturn) funkcja jest nieosiągalny.

Jeśli kompilator znajdzie funkcji ze ścieżką kontroli, który nie zwraca wartości, generuje komunikat o błędzie (C2202) lub ostrzeżenie (C4715).Jeśli nie można osiągnąć ścieżki kontroli ze względu na funkcję, która nigdy nie zwraca, można użyć __declspec(noreturn) do zapobiegania to ostrzeżenie lub błąd.

[!UWAGA]

Dodawanie __declspec(noreturn) do funkcji, która powinna zwrócić może skutkować niezdefiniowane zachowanie.

Przykład

W następującym przykładzie else klauzuli nie zawiera instrukcję return.Zadeklarowanie fatal jako __declspec(noreturn) unika błąd lub ostrzeżenie.

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

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

Zobacz też

Informacje

__declspec

Słów kluczowych języka C++