我在Delphi中有另外一个关于TList
的问题......
我在访问TList时遇到EArgumentOutOfRangeException,就像我之前做的那样,在将不同的TList打印到控制台之后。
复制并粘贴下面的原始代码 - 没有更改单行
Writeln('c: '+inttostr(closed.Capacity)+' |l. 281');
for i := 0 to open.Capacity-1 do
begin
Writeln('open: ' + open[i].startpunkt + open[i].endpunkt +
IntToStr(open[i].kantenbewertung));
end;
Writeln('c: '+inttostr(closed.Capacity));
Writeln('closed.capacity: '+inttostr(closed.Capacity));
for i := 0 to closed.Capacity-1 do begin
Writeln('closed: ' + closed[i].startpunkt + closed[i].endpunkt +
IntToStr(closed[i].kantenbewertung));
end;
Writeln('c: '+inttostr(closed.Capacity)+' |l. 281');
显然已打印到控制台,for i := 0 to open.Capacity-1 do begin
- 循环。
控制台输出是: c:2 | l。 281 打开:AC3 开放:BC4 开放:CD6 - 然后出现错误消息
应该是Dijkstra的alg实现的一部分。如果这有帮助。
有没有人发现我没有的错误?或者这是一些奇怪的特例?