C and C++


LANG.PREPROC.UNBALANCED : マクロ内の対になっていない括弧

要旨

マクロ定義に対になっていない括弧が存在しています。

プロパティ

クラス名 Unbalanced Parenthesis
日本語クラス名 マクロ内の対になっていない括弧
クラス分類 スタイル (style)
ニーモニック LANG.PREPROC.UNBALANCED
カテゴリー
CWE CWE:710 Improper Adherence to Coding Standards
POW10 POW10:8 Limit the use of the preprocessor to file inclusion and simple macros.
JPL JPL:20 Make only very limited use of the C pre-processor.
対応言語 C および C++ で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで無効になっています。チェックを有効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += allow class="Unbalanced Parenthesis"

#define mult(x,y) ((x) * (y))

/* 'Unbalanced Parenthesis' warning issued on following line */
#define add2mult(a) \
    mult((a)+2,  
        
int k = add2mult(5) 6);

関連のある設定ファイルパラメータ

設定ファイルの以下のパラメータがこのワーニングクラスのチェックに影響します。