共用方式為


noreturn

Microsoft 特定的

這個 __declspec 屬性會告知編譯器函式不會傳回。 因此,編譯器知道不可能執行到呼叫 __declspec(noreturn) 函式之後的程式碼。

如果編譯器發現某個函式包含的控制路徑不會傳回值,則會產生警告 (C4715) 或錯誤訊息 (C2202)。 如果因為函式永不會傳回而無法到達控制路徑,您可以使用 __declspec(noreturn) 來避免這個警告或錯誤。

注意事項注意事項

__declspec(noreturn) 加入至預期會傳回的函式可能會導致未定義的行為。

範例

在下列範例中,else 子句不包含 return 陳述式。將 fatal 宣告為 __declspec(noreturn) 可避免錯誤或警告訊息。

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

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

請參閱

參考

__declspec

C++ 關鍵字