AUTOSAR C++14 Rule M7-3-3
There shall be no unnamed namespaces in header files.
説明
ルール定義
There shall be no unnamed namespaces in header files.
根拠
C++ 規格によると、無名の名前空間内の名前 (たとえば、次の aVar) は、
namespace {
int aVar;
}#include しているソース ファイルをもつ各翻訳単位が、その名前空間内の自身のオブジェクト インスタンスを定義します。通常、オブジェクトを意図的に複数定義することはないため、メモリの過剰使用、単一定義ルールの違反など、予期しない結果を引き起こす可能性があります。Polyspace 実装
チェッカーは、ヘッダー ファイル内の無名の名前空間にフラグを設定します。
トラブルシューティング
ルール違反が想定されるものの、Polyspace® から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。
例
チェック情報
| グループ: 宣言 |
| カテゴリ: Required、Automated |
バージョン履歴
R2019a で導入