This documentation is archived and is not being maintained.


Microsoft Specific

This __declspec attribute tells the compiler that a function does not return. As a consequence, the compiler knows that the code following a call to a __declspec(noreturn) function is unreachable.

If the compiler finds a function with a control path that does not return a value, it generates a warning (C4715) or error message (C2202). If the control path cannot be reached due to a function that never returns, you can use __declspec(noreturn) to prevent this warning or error.

Consider, for example, the following code. The else clause does not contain a return statement, so the programmer declares fatal as __declspec(noreturn) to avoid an error or warning message.

// noreturn2.cpp
__declspec(noreturn) extern void fatal ()
   // Code omitted

int main()
     return 1;
   else if(0)
     return 0;

END Microsoft Specific

See Also

__declspec | C++ Keywords