Can't determine which overloaded - Pascal


(Lexander) #1

Witam, mam problem: piszę w pascalu program, ale pojawił mi się błąd "Can't determine which overloaded ". Nie wiem, gdzie zrobiłem błąd, poniżej zamieszczam fragment kodu:

for petla:=1 to n do

begin

for licz:=1 to powt[petla] do

begin

--------->>>> dlug:=length(zwrot[licz]); <<<<----------- {tu jest błąd}

for licz2:=1 to dlug do

begin

if zwrot[licz][licz2]='N' then y:=y+1;

if y>najwy then najwy:=y;

if zwrot[licz][licz2]='S' then y:=y-1;

if y>najmy then najmy:=y;

if zwrot[licz][licz2]='E' then x:=x+1;

if x>najwx then najwx:=x;

if zwrot[licz][licz2]='W' then x:=x-1;

if x>najmx then najmx:=x;

end;

end;

end;

{koniec}

Tak zrobiłem zmienne:

najmx,najwx,najmy,najwy,licz2:longint;

dlug:int64 ;

x,y,licz,n,petla:longint;

zwrot:array[1..999999] of widestring;

powt:array[1..1000000] of word;

Proszę o pomoc!


(system) #2
for licz:=1 to powt[petla] do

Nie słyszałem nigdy o użyciu takiej iteracji. Swoją drogę mógłbyś podać treść zadania?

zwrot:array[1..999999] of widestring;

Rozumiem, że to ma być tablica, która zawiera obiekt string? Użyłbym bardziej zwykłego string'a. Mimo wszystko, jeżeli w dokumentacji FPC jest taka zmienna to ok.

if zwrot[licz][licz2]='N' then y:=y+1;

Tutaj, powyżej z tablicy jednowymiarowej tworzy się znikąd dwu-wymiarowa