我用标志编译了程序,-Criot -gl
而不是 1 我得到了很多令人惊讶的结果(事实上,我正在寻找修复 216 错误)。首先是下面的代码,它是一个简单的散列函数。我不知道如何解决这个问题。
function HashStr(s : string) : integer;
var h : integer;
var c : char;
begin
h := 0;
for c in s do
h := ord(c) + 31 * h; { This is the line of error }
HashStr := h;
end;
这怎么可能超出范围?