noreturn

Específicos de Microsoft

Este __declspec atributo indica al compilador que una función no devuelve . Como consecuencia, el compilador sabe que no se puede acceder al código que sigue a una llamada a __declspec(noreturn) una función.

Si el compilador encuentra una función con una ruta de acceso de control que no devuelve un valor, genera una advertencia (C4715) o un mensaje de error (C2202). Si no se puede alcanzar la ruta de acceso del control debido a una función que nunca devuelve, puede usar para evitar esta __declspec(noreturn) advertencia o error.

Nota:

Agregar __declspec(noreturn) a una función que se espera que devuelva puede dar lugar a un comportamiento indefinido.

Ejemplo

En el ejemplo siguiente, la else cláusula no contiene una instrucción return. Declarar como fatal evita un mensaje de error o __declspec(noreturn) advertencia.

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

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

FIN de Específicos de Microsoft

Vea también

__declspec
Palabras clave