noreturn

Específicos de Microsoft

Este atributo de __declspec indica al compilador que una función no cambie.En consecuencia, el compilador sabe que el código que sigue a una llamada a una función de __declspec (noreturn) es inalcanzable.

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

[!NOTA]

La adición __declspec (noreturn) a una función de esperada volver puede producir un comportamiento indefinido.

Ejemplo

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

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

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

Vea también

Referencia

__declspec

Palabras clave de C++