表示: Delphi
C++
表示設定
E2055: Read/Readln 文に正しくない型が渡されました (Delphi)
提供:RAD Studio XE2
エラーと警告のメッセージ(Delphi):インデックス への移動
このエラーは型が正しくない変数を Read 文または Readln 文で読み出そうとしたときに起きます。
変数の型をチェックし,逆参照,インデックス付け,フィールド選択のいずれかの演算子を欠かさないようにしてください。
program Produce; type TColor = (red,green,blue); var Color : TColor; begin Readln(Color); (*<-- ここでエラーメッセージ*) end.
{ 列挙型の変数は直接読み出せない }
program Solve;
type
TColor = (red,green,blue);
var
Color : TColor;
InputString: string;
const
ColorString : array [TColor] of string = ('red', 'green', 'blue');
begin
Readln(InputString);
Color := red;
while (color < blue) and (ColorString[color] <> InputString) do
Inc(color);
end.
{ 文字列を読み出し,その文字列を補助テーブル内で参照すれば解決する。このコードではエラーチェックの手間を省いたので,すべての文字列は blue として扱われる。実際にはエラーメッセージを出力してユーザーにやり直しを求める場合が多い }