Diagnostic directives
From cppreference.net
<
c
|
preprocessor
指定されたエラーメッセージを表示し、プログラムを不適格とする 、またはプログラムの有効性に影響を与えずに警告メッセージを表示する (C23以降) 。
目次 |
構文
#error
診断メッセージ
|
(1) | ||||||||
#warning
診断メッセージ
|
(2) | (C23以降) | |||||||
説明
1)
#error
ディレクティブに遭遇した後、実装はメッセージ
diagnostic-message
を表示し、プログラムを不適格とする(コンパイルが停止する)。
2)
(1)
と同様ですが、プログラムの有効性には影響せず、コンパイルは継続されます。
diagnostic-message は引用符で囲まれていない複数の単語で構成される場合があります。
注記
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: TBD)
- 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++ ドキュメント
for
診断ディレクティブ
|