[fpc-pascal] Ordinal casting to enums
Hairy Pixels
genericptr at gmail.com
Thu Jun 6 06:22:26 CEST 2024
This program below crashes because the value 12 is not in the enum. I was curious though, how does it know this? Does it have to do a linear search through the enum to find the value? I know "succ" fails at compile time because the enum has assignments but how this works at runtime is another question.
type
Fruit = (apple = 10,
banana,
pear = 20,
citrus);
var
f: Fruit;
i: Integer;
begin
i := 12;
f := Fruit(i);
writeln(f);
end;
Regards,
Ryan Joseph
More information about the fpc-pascal
mailing list