noreturn
Microsoft 전용
이 __declspec 특성 함수 반환 되지 않는 컴파일러에 지시 합니다.따라서 컴파일러는 알고 호출한 다음 코드는 __declspec(noreturn) 함수에 연결할 수 없습니다.
컴파일러가 함수 값을 반환 하지 않는 제어 경로가 발견 되 면 경고 (C4715) 또는 (C2202) 오류 메시지가 생성 됩니다.절대로 반환 하는 함수 때문에 제어 경로 연결할 수 없는 경우 사용할 수 있습니다 __declspec(noreturn) 이 경고 또는 오류를 방지 합니다.
[!참고]
추가 __declspec(noreturn) 반환 하려면 예상 되는 함수에 정의 되지 않은 동작이 발생할 수 있습니다.
예제
다음 예제에서는 다른 절에 return 문이 포함 되어 있지 않습니다.선언 fatal 와 __declspec(noreturn) 가 오류 또는 경고 메시지를 피할 수 있습니다.
// noreturn2.cpp
__declspec(noreturn) extern void fatal () {}
int main() {
if(1)
return 1;
else if(0)
return 0;
else
fatal();
}