[ADA] wspolbieznosc tablica zadan

0

Witam.
Chcę stworzyć statyczną tablicę zadań. Każde zadanie wygląda w ten sposób:

task body filozof is
      nr: integer;
      czas: integer;
      ile_razy: integer:= ile;
      il: integer:=0;
   begin
      accept pobierz_nr(numer: in integer) do
         nr:=numer;
      end pobierz_nr;

      loop
         exit when il=ile;
         czas:=losuj_czas;
         mysl;
         if nr=5 then
            tab_wid(5).podnies;
            tab_wid(1).podnies;
            tab_wid(5).opusc;
            tab_wid(1).opusc;
         else
            tab_wid(i).podnies;
            tab_wid(i+1).podnies;
            tab_wid(i).opusc;
            tab_wid(i+1).opusc;
         end if;
         il:=il+1;
      end loop;
   end filozof;

A tablicę deklaruje w ten sposób:

tab_fil: array (1..5) of filozof;

Wyskakuje mi następujący błąd kompilacji:

unconstrained element type in array declaration

Pozwiedzałem do tej pory już wiele for na temat tego błędu, ale większość dotyczyła niedokładnej deklaracji stringa, gdy w deklaracji tablicy statycznej używało się typu o nieokreślonej długości. Jednakże w moim wypadku wszystko jest jasno określone i nie ma nieścisłości tego typu.

Ma ktoś może jakiś pomysł jak sobie z tym poradzić?

Dodam, że używam GNAT GPL 2006.

0

"ile"?

0

wyczaiłem właśnie to, że w deklaracji było

task filozof(ile: integer)
end filozof;

więc deklaracja tablicy musiała wyglądać tak:

tab_fil: array (1..5) of filozof(liczba)

Po zmianie wszystko śmiga jak należy.

Dzięki i pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1