0
我還有一個關於Delphi的TList
的問題... 當我打印一個不同的TList到控制檯後,我在訪問一個TList時得到了一個EArgumentOutOfRangeException,就像我之前做的一樣。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
-loop爲好。
控制檯輸出爲: c:2 | l。 281 開:AC3 開:BC4 開:CD6 - 再有就是錯誤味精
應該是Dijkstra的ALG的實現的一部分。如果這有幫助。
有沒有人發現我沒有的錯誤?或者這是一個奇怪的特例?
是的,太明顯了。抱歉。 將其更改爲: 'Writeln('c:'+ inttostr(closed.Capacity)+'| l。281'); 對於i:= 0至open.Count-1千萬 開始 Writeln( '開放:' +開放[I] .startpunkt +開放[I] .endpunkt + IntToStr(打開[I] .kantenbewertung)); 結束; Writeln('c:'+ inttostr(closed.Count)); Writeln('closed.capacity:'+ inttostr(closed.Capacity)); (關閉:'+關閉[i] .startpunkt +關閉[i] .endpunkt + IntToStr(closed [i] .kantenbewertung)); end;' –