C and C++


LANG.PREPROC.ARROW : マクロ内でアロー演算子 -> の使用

要旨

マクロの定義で -> (アロー) 演算子を使用しています。

プロパティ

クラス名 Macro Uses -> Operator
日本語クラス名 マクロ内でアロー演算子 -> の使用
クラス分類 スタイル (style)
ニーモニック LANG.PREPROC.ARROW
カテゴリー
CWE CWE:710 Improper Adherence to Coding Standards
POW10 POW10:9 Limit the use of pointers. Use no more than two levels of dereferencing per expression.
JPL JPL:28 Do not hide dereference operations inside macros or typedefs.
対応言語 C および C++ で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで無効になっています。チェックを有効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += allow class="Macro Uses -> Operator"

/* 'Macro Uses -> Operator' warning issued on following line */
#define drf(a) \
    ((a) == NULL ? NULL : a->f ))

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

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