診斷指令
來自 cppreference.com
顯示給定的錯誤訊息並使程式格式錯誤,或顯示給定的警告訊息而不影響程式的有效性(C23 起)。
目錄 |
[編輯] 語法
#error 診斷訊息 |
(1) | ||||||||
#warning 診斷訊息 |
(2) | (自 C23 起) | |||||||
[編輯] 解釋
1) 在遇到
#error 指令後,實現會顯示訊息 診斷訊息 並使程式格式錯誤(編譯停止)。2) 與 (1) 相同,但程式的有效性不受影響,編譯繼續。
診斷訊息 可以由多個單片語成,不一定在引號中。
[編輯] 注意
在 C23 中標準化之前,許多編譯器在所有模式下都將 #warning 作為符合標準的擴充套件提供。
[編輯] 示例
執行此程式碼
#if __STDC__ != 1 # error "Not a standard compliant compiler" #endif #if __STDC_VERSION__ >= 202311L # warning "Using #warning as a standard feature" #endif #include <stdio.h> int main (void) { printf("The compiler used conforms to the ISO C Standard !!"); }
可能的輸出
The compiler used conforms to the ISO C Standard !!
[編輯] 參考
- C23 標準 (ISO/IEC 9899:2024)
- 6.10.5 錯誤指令 (p: 待定)
- C17 標準 (ISO/IEC 9899:2018)
- 6.10.5 錯誤指令 (p: 126-127)
- C11 標準 (ISO/IEC 9899:2011)
- 6.10.5 錯誤指令 (p: 174)
- C99 標準 (ISO/IEC 9899:1999)
- 6.10.5 錯誤指令 (p: 159)
- C89/C90 標準 (ISO/IEC 9899:1990)
- 3.8.5 錯誤指令
[編輯] 另請參閱
| C++ 文件,關於 診斷指令
|