Compartilhar via


noreturn

Específicos do Microsoft

Isso __declspec atributo informa ao compilador que uma função não retorna.Como conseqüência, o compilador sabe que o código que segue uma chamada para um __declspec(noreturn) função é inacessível.

Se o compilador encontra uma função com um caminho de controle que não retorna um valor, ele gera um aviso (C4715) ou a mensagem de erro (C2202).Se o caminho de controle não pode ser alcançado devido a uma função que nunca retorne, você pode usar __declspec(noreturn) para evitar que esse aviso ou erro.

ObservaçãoObservação

Adicionando __declspec(noreturn) a uma função que deve retornar pode resultar em um comportamento indefinido.

Exemplo

No exemplo a seguir, o else cláusula não contém uma instrução return.Declarando fatal como __declspec(noreturn) evita um erro ou mensagem de aviso.

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

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

Consulte também

Referência

__declspec

Palavras-chave C++