program s;
type info = record
name, surname: string;
min, sec: integer;
end;
arrays = array[2..50] of info;
var A: arrays;
begin
A[1].name := 'name';
end.
这有什么问题?它给了我范围检查错误,我不知道那是什么。
答案 0 :(得分:6)
它会给你一个错误,因为你是从索引2到50创建一个数组。
因此,您可以访问的第一个元素是2。
begin
A[2].name := 'name';
end.
范围检查错误意味着您尝试访问处于无效位置的数组(因此超出范围)。与其他语言不同,Pascal会在您执行此操作时抛出编译错误。