2
var
a: Integer;
begin
a:= 300;
if a in [100..500] then
WriteLn ('YES')
else
WriteLn ('NO')
end.
var
a: Integer;
begin
a:= 300;
if a in [100..500] then
WriteLn ('YES')
else
WriteLn ('NO')
end.
パスカルでは、FreePascal documentationに従って、0〜255の数字のみがサポートされています。重要な部分は次のとおりです。
SetTypeの各要素は、TargetType型でなければなりません。 TargetTypeは0から255の範囲の任意の序数タイプです。 1組に最大255個の要素を含めることができます。
範囲チェック{$R+}
をオンにすると、これらの種類のエラーが警告されます。
freepascalは、[ここに見られるように](http://ideone.com/3ALCc1)の値に対して<256の値しか許されないようです。コンパイラによって警告が生成されないようです。 –
ああ、そうかもしれない。ありがとうございました! –
FPCはこの警告を出します:xxx.pas(1,46)警告:定数の評価中にレンジチェックエラーが発生しました(500は0〜255の間でなければなりません)警告を無視しますか? – tonypdmtr