#pragma report ディレクティブは、特定のメッセージの生成を制御します。 このプラグマは #pragma info に優先します。 #pragma report(pop) を指定すると、レポート・レベルは前のレベルに戻されます。 前のレポート・レベルが指定されていない場合は、警告が表示され、レポート・レベルは変更されません。
>>-#--pragma--report--(--+-level--,--+-E-+----------------+--)->< | +-W-+ | | '-I-' | +-+-enable--+--,--message_number-+ | '-disable-' | '-pop----------------------------'
ここで、
レベル | 表示する診断メッセージの最小の重大度レベルを示します。 |
E | W | I | 表示する診断メッセージのタイプを決定するために level と共に使用されます。
|
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.次のようにコードの順序を変更すると、
1 #pragma report(level, E) 2 #pragma report(enable, CPPC1000)同じ結果になります。コードの 2 つの行が表示される順序は、結果に影響しません。 ただし、メッセージが「使用不可」であった場合は、設定されているレポート・レベルやコードの行の表示順序に関係なく、診断メッセージは表示されません。
1 #pragma report(level, I) 2 #pragma report(enable, CPPC1000) 3 #pragma report(level, E) 4 #pragma report(pop)
関連情報