AUTOSAR C++14 Rule A7-1-6
typedef 指定子を使用してはなりません。
説明
ルール定義
typedef 指定子を使用してはなりません。
根拠
エイリアスを定義する場合、using 構文は typedef の代わりに適しています。
C++11 以降、using 構文を使用して、テンプレート引数にデータ型の制限がないテンプレート エイリアスを定義できます。たとえば、次のステートメントは vector のエイリアス vectorType を定義しています。引数 T はデータ型の制限がなく、後で置き換えることができます。
template<class T, class Allocator = allocator<T>> class vector;
template<class T> using vectorType = vector<T, My_allocator<T>>;
vectorType<int> primes = {2,3,5,7,11,13,17,19,23,29};typedef キーワードでは、このようなテンプレート エイリアスを定義できません。Polyspace 実装
ルール チェッカーでは、typedef キーワードのすべての使用にフラグを設定します。
typedef キーワードの特定のインスタンスを削除しない場合は、それらの結果を正当化するコメントを追加します。詳細は、以下を参照してください。
Polyspace ユーザー インターフェイスでのバグ修正または正当化による結果への対処 (Polyspace ユーザー インターフェイスで結果をレビューする場合)。
Polyspace Access でのバグ修正または正当化による結果への対処 (Polyspace Access) (Web ブラウザーで結果をレビューする場合)。
コードへの注釈付けと既知の結果または許容可能な結果の非表示 (IDE で結果をレビューする場合)
トラブルシューティング
ルール違反が想定されるものの、Polyspace® から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。
例
チェック情報
| グループ: 宣言 |
| カテゴリ: Required、Automated |
バージョン履歴
R2019a で導入