このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
MISRA C:2012 Rule 17.1
The standard header file <stdarg.h> shall not be used
説明
ルール定義
The standard header file <stdarg.h> shall not be used 1 .
根拠
va_list
、va_arg
、va_start
、va_end
および va_copy
の使用はルールにより禁止されています。
これらの機能は規格で動作が定義されていない方法で使用できます。次に例を示します。
va_start
を関数内で呼び出すが、関数ブロックの終了前に対応するva_end
を呼び出さない。va_list
型の同じ変数に対し、異なる関数内でva_arg
を呼び出す。va_arg
が構文type va_arg (va_list ap, type)
をもつ。ap
から取得する引数の実際の型と互換性がないtype
でva_arg
を呼び出す。
トラブルシューティング
ルール違反を想定していてもその違反が表示されない場合、コーディング規約違反が想定どおりに表示されない理由の診断を参照します。
例
チェック情報
グループ: 関数 |
カテゴリ: 必要 |
AGC カテゴリ: 必要 |
バージョン履歴
R2014b で導入1 All MISRA coding rules and directives are © Copyright The MISRA Consortium Limited 2021.
The MISRA coding standards referenced in the Polyspace® Bug Finder™ documentation are from the following MISRA standards:
MISRA C:2004
MISRA C:2012
MISRA C:2023
MISRA C++:2008
MISRA C++:2023
MISRA and MISRA C are registered trademarks of The MISRA Consortium Limited 2021.