#pragma report ディレクティブは、特定のメッセージの生成を制御します。プラグマは、#pragma info に優先します。#pragma report(pop) を指定すると、レポート・レベルは直前のレベルに戻されます。前のレポート・レベルが指定されていないと、警告を出して、そのレポート・レベルがそのまま変更されません。
ここで、
レベル | 表示する診断メッセージの最小の重大度レベルを示します。 |
E | W | I | 表示する診断メッセージの型を決定するためのレベルの論理積で使用します。
|
enable | disable | 指定したメッセージ番号を使用可能または使用不可にします。 |
message_number | メッセージ番号が続く、メッセージ番号のプレフィックスを含む ID です。メッセージ番号の例: CPPC1004 |
pop | 直前のレポート・レベルにレポート・レベルがリセットされます。ポップ操作が空のスタックで実行されている場合、レポート・レベルは未変更のまま有効であり、メッセージも生成されません。 |
1 #pragma info(all) 2 #pragma report(level, W)
次のようにコードの順序を変更すると、1 #pragma report(enable, CPPC1000) // enables message number CPPC1000 2 #pragma report(level, E) // display only error messages.
同じ結果になります。コードの 2 つの行が表示される順序は、結果に影響しません。ただし、メッセージが 'disabled' の場合、設定されているレポート・レベルおよび表示されるコードの行の順序に関係なく、診断メッセージは表示されません。1 #pragma report(level, E) 2 #pragma report(enable, CPPC1000)
1 #pragma report(level, I) 2 #pragma report(enable, CPPC1000) 3 #pragma report(level, E) 4 #pragma report(pop)