E2001 順序型が必要です (Object Pascal)

提供: Appmethod Topics
移動先: 案内検索

エラーと警告のメッセージ(Object Pascal):インデックス への移動

コンパイラが順序型を必要としました。順序型には,定義済みの整数型,Char 型,ワイド文字型,論理型,および宣言した列挙型があります。

順序型は以下のような場合に必要です。

  • 配列のインデックス型は順序型でなければならない
  • 部分範囲型の下限と上限は順序型の定数式でなければならない
  • 集合の要素型は順序型でなければならない
  • case 文の選択式は順序型でなければならない
  • 標準手続き Inc と Dec の第 1 引数は順序型またはポインタ型の変数でなければならない


program Produce;
type
  TByteSet = set of 0..7;
var
  BitCount: array [TByteSet] of Integer;
begin
end.

{ 配列のインデックス型は順序型でなければならない。TByteSet 型は順序型でなく集合である }


program Solve;
type
  TByteSet = set of 0..7;
var
  BitCount: array [Byte] of Integer;
begin
end.

{ 順序型を配列のインデックス型として指定する }