MISRA C:2012 Rule 23.6
The controlling expression of a generic selection shall have an essential type that matches its standard type
R2024a 以降
説明
ルール定義
The controlling expression of a generic selection shall have an essential type that matches its standard type 1 .
This rule comes from MISRA C™:2012 Amendment 3.
根拠
MISRA ガイドラインに沿ってコードを開発するときには、実質的な型のシステムに従う必要があります。総称選択の制御式に、実質的な型とは異なる標準の型が含まれている場合、総称選択は実質的な型のシステムに違反します。
例外として、次の両方の条件を満たす整数定数式にはこのルールは適用されません。
整数定数式が、
intよりも下位のランクの実質的な符号付き型または符号なし型を持つ。文字定数と boolean のいずれでもない。
Polyspace 実装
式の実質的な型がその標準の型と異なる場合、Polyspace® はこのルールの違反を報告します。int よりも下位のランクで、char と bool のいずれでもない整数定数は、このルールに違反しません。
トラブルシューティング
ルール違反を想定していてもその違反が表示されない場合、コーディング規約違反が想定どおりに表示されない理由の診断を参照します。
例
チェック情報
| グループ: 総称選択 | 
| カテゴリ: 必要 | 
| AGC カテゴリ: 必要 | 
バージョン履歴
R2024a で導入
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.