Delphiについて別の質問がありTList
ます... 別の TList をコンソールに出力した後、以前と同じように、TList にアクセスするときに EArgumentOutOfRangeException が発生します。
以下の元のコードをコピーして貼り付けました-1行も変更していません
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;
-loopも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 の実装の一部であるはずです。これが役立つ場合。
誰も私がしていない間違いを見つけますか? それとも、これは奇妙な特殊なケースですか?