This error message is given when either the low bound of a subrange type is greater than the high bound, or the low bound of a case label range is greater than the high bound.
program Produce;
type
SubrangeType = 1..0; (*Gets: Low bound exceeds high bound *)
begin
case True of
True..False: (*Gets: Low bound exceeds high bound *)
Writeln('Expected result');
else
Writeln('Unexpected result');
end;
end.In the example above, the compiler gives an error rather than treating the ranges as empty. Most likely, the reversal of the bounds was not intentional.
program Solve;
type
SubrangeType = 0..1;
begin
case True of
False..True:
Writeln('Expected result');
else
Writeln('Unexpected result');
end;
end.Make sure you have specified the bounds in the correct order.
|
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
|
|
What do you think about this topic? Send feedback!
|