メインコンテンツ

AUTOSAR C++14 Rule A3-1-4

When an array with external linkage is declared, its size shall be stated explicitly

説明

ルール定義

外部リンクのある配列を宣言する場合、その配列のサイズを明示的に記述するものとします。

根拠

配列のサイズを指定せずに外部リンクを含む配列を宣言してから、その配列の要素にアクセスしようとすると、範囲外の配列インデックスのエラーが発生する可能性があります。このようなエラーが発生する可能性を抑えるには、配列の宣言に配列のサイズを指定します。

Polyspace 実装

以下のすべての条件に該当する場合、Polyspace® はこのルールの違反を報告します。

  • extern 配列を宣言している。

  • 配列が初期化されていない。

  • 配列の要素の数が明示的に示されていない。

トラブルシューティング

ルール違反が想定されるものの、Polyspace から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。

すべて展開する

int array[10];  
extern int array2[]; //Noncompliant
int array3[]= {0,1,2};
extern int array4[10]; //Compliant

array2 の宣言で配列サイズが指定されていません。

チェック情報

グループ: 基本概念
カテゴリ: Required、Automated

バージョン履歴

R2019a で導入