名稱空間
變體
操作

診斷指令

來自 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++ 文件,關於 診斷指令
English 日本語 中文(简体) 中文(繁體)