MISRA C:2012 Rule 17.3
A function shall not be declared implicitly
説明
ルール定義
A function shall not be declared implicitly 1 .
根拠
暗黙的な宣言は、関数を宣言または定義する前に呼び出す場合に発生します。関数を呼び出す前に明示的に宣言すると、コンパイラにより引数と戻り値の型を宣言内のパラメーター タイプと一致させることができます。暗黙的な宣言が発生する場合、コンパイラにより引数と戻り値の型が仮定されます。たとえば、戻り値の型として int を仮定します。仮定は想定していた型と一致せず予期しない型変換を起こす可能性があります。
レポート内の追加のメッセージ
Function 'XX' has no complete visible prototype at call.
トラブルシューティング
ルール違反を想定していてもその違反が表示されない場合、コーディング規約違反が想定どおりに表示されない理由の診断を参照します。
例
チェック情報
| グループ: 関数 |
| カテゴリ: Mandatory |
| AGC カテゴリ: Mandatory |
バージョン履歴
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.