AUTOSAR C++14 Rule A7-2-2
Enumeration underlying type shall be explicitly defined
説明
ルール定義
列挙の潜在型を明示的に定義してはなりません。
根拠
次のような、スコープされない列挙宣言を考えます。
enum someEnum : type { ... }: が省略された場合、潜在型は処理系定義になります (型がすべての列挙値に対応しなければならないという要件のみが伴います)。潜在型を明示的に宣言しないと、処理系定義の動作が引き起こされます。type
次のような、スコープされた列挙宣言を考えます。
enum class someEnum : type { ... }: が省略された場合、潜在型は typeint になります。列挙値が int で許容される値を超える場合はコンパイル エラーとなります。
スコープされない列挙型とスコープされた列挙型の両方について、処理系定義の動作やコンパイル エラーを回避するには、潜在型を明示的に宣言します。
トラブルシューティング
ルール違反が想定されるものの、Polyspace® から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。
例
チェック情報
| グループ: 宣言 |
| カテゴリ: Required、Automated |
バージョン履歴
R2019b で導入