C and C++


LANG.STRUCT.TMID : 過度の多重間接参照の宣言

要旨

宣言された多重間接参照は MAX_PERMITTED_INDIRECTION_IN_DECLARATION で設定されたしきい値を超えています。

プロパティ

クラス名 Too Much Indirection in Declaration
日本語クラス名 過度の多重間接参照の宣言
クラス分類 スタイル (style)
ニーモニック LANG.STRUCT.TMID
カテゴリー
MisraC2023 MisraC2023:18.5 Declarations should contain no more than two levels of pointer nesting
Misra2012 Misra2012:18.5 Declarations should contain no more than two levels of pointer nesting
AUTOSARC++14 AUTOSARC++14:A5-0-3 The declaration of objects shall contain no more than two levels of pointer indirection.
MisraC++2008 MisraC++2008:5-0-19 The declaration of objects shall contain no more than two levels of pointer indirection.
MisraC++2023 MisraC++2023:11.3.2 The declaration of objects should contain no more than two levels of pointer indirection
CWE CWE:710 Improper Adherence to Coding Standards
JSF++ JSF++:169 Pointers to pointers should be avoided when possible.
  JSF++:170 More than 2 levels of pointer indirection shall not be used.
JPL JPL:26 Use no more than two levels of indirection per declaration.
対応言語 C および C++ で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで無効になっており、プロジェクトには非正規の C向けAST が必要になります。有効にするにはプロジェクト設定ファイル (configuration file) に以下の WARNING_FILTER ルールと RETAIN_UNNORMALIZED_C_AST 設定を追加してください。
RETAIN_UNNORMALIZED_C_AST = Yes
WARNING_FILTER += allow class="Too Much Indirection in Declaration"
注:非正規化された AST を継続して使用した場合、使用ディスク容量が増加し解析時間が長くなる可能性があります。

char ***ppzstrings; /* 'Too Much Indirection in Declaration' warning issued here */

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

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