AUTOSAR C++14 Rule A7-1-9
A class, structure, or enumeration shall not be declared in the definition of its type
説明
ルール定義
クラス、構造体、列挙値は、その型の定義の中で宣言されてはなりません。
根拠
このルールは、オブジェクトの型の定義と同じステートメントでオブジェクトの宣言を行うことを禁止しています。たとえば、以下のステートメントでは構造体の Record 型を定義すると同時に、その型のオブジェクトも定義しています。
struct Record {
std::uint32_t* elems;
std::uint8_t size;
} someRecord;Polyspace 実装
ルール チェッカーは、オブジェクトの型の定義と同じステートメントでオブジェクトが定義されている場合に、違反を報告します。
トラブルシューティング
ルール違反が想定されるものの、Polyspace® から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。
例
チェック情報
| グループ: 宣言 |
| カテゴリ: Required、Automated |
バージョン履歴
R2019a で導入