2016-06-01 11 views
2
var 
    a: Integer; 
begin 
    a:= 300; 
    if a in [100..500] then 
     WriteLn ('YES')  
    else 
     WriteLn ('NO') 
end. 
+4

freepascalは、[ここに見られるように](http://ideone.com/3ALCc1)の値に対して<256の値しか許されないようです。コンパイラによって警告が生成されないようです。 –

+0

ああ、そうかもしれない。ありがとうございました! –

+3

FPCはこの警告を出します:xxx.pas(1,46)警告:定数の評価中にレンジチェックエラーが発生しました(500は0〜255の間でなければなりません)警告を無視しますか? – tonypdmtr

答えて

7

パスカルでは、FreePascal documentationに従って、0〜255の数字のみがサポートされています。重要な部分は次のとおりです。

SetTypeの各要素は、TargetType型でなければなりません。 TargetTypeは0から255の範囲の任意の序数タイプです。 1組に最大255個の要素を含めることができます。

範囲チェック{$R+}をオンにすると、これらの種類のエラーが警告されます。

関連する問題