2

ずっと前に、Turbo Pascal 7 でこれを実行できたことを覚えています。

たぶん私は間違っているので、明確にする必要がありますが、文字列の配列を定数として宣言することは可能ですか?

そうでない場合、オプション/回避策は何ですか。

私が今持っているものは次のとおりです。

type
  TStates = (sOne, sTwo, sThree);
var
  TArrayOfString: array [sOne..sThree] of string = 
     ('State one', 'State two', 'State three');

しかし、その var を const に置き換えたいと思うでしょう。

ありがとう

編集1 :私の質問を明確にするために、さらにコードを追加しました。

4

2 に答える 2

4

あなたが書いた昔のパスカル/デルファイで:

const 
  A : Integer = 5;

定数ではなく、初期化された変数を定義しました。

問題なく定義できます:

const
  A : array [1..2] of string = ('a', 'b');

ただし、文字列も定数でなければなりません。それらはコンパイル時に認識される必要があります。

同じことが言えます:

var
  A : array [1..2] of string = ('a', 'b');

したがって、次のように書くことはできません。

var
  B : string = 'hi';
  A : array [1..2] of string = (B, 'b');

B は変数だからです。しかし、次のように書くことができます:

const
  B = 'hi'; // Even a typed constant does not work.

var
  A : array [1..2] of string = (B, 'b');

オプション: 「割り当て可能な型付き定数」(デフォルトは false) は、割り当て可能な古い型付き定数を作成するために提供されていることに注意してください。定数を定数にしたいので、下位互換性のためにあります。

于 2009-04-14T20:51:39.777 に答える