Wątek przeniesiony 2015-05-23 22:25 z Delphi i Pascal przez furious programming.

Bład parametru tablicy dwuwymiarowej w funkcji

0

Witam! Utworzyłem sobie funkcję foo. Deklaracja wygląda tak :

procedure foo(n : Integer; b,c: array of Extended; q, p : Extended;
                             a : array of array of Extended; source : Integer); 

I przy próbie uruchomienia programu pojawia się error:

[DCC Error] Project1.dpr(11): E2029 Identifier expected but 'ARRAY' found

Gdy klikam na ten error to wskazuje na miejsce gdzie jest :

array of array

Co może być nie tak ?

dodanie znaczników <code class="delphi"> i <code class="none"> - @furious programming

0

Musisz sobie utworzyć własny typ arrray of array i jego stosowac jako parametr.

0

Wszystko mówi treść błędu - potrzebny jest identyfikator, a znajduje się słowo kluczowe Array;

O ile pierwsza konstrukcja deklaracji macierzy (parametry b i c) jest prawidłowa, to druga niestety nie; Pierwsza to tzw. "open array", czyli macierz otwarta, która musi być jednowymiarowa; Druga deklaracja macierzy (parametr a) konstrukcyjnie wskazuje na macierz otwartą, jednak jak napisałem wyżej - musi być jednowymiarowa; Twoja jest dwuwymiarowa, więc masz błąd;

Zadeklaruj typ:

type
  TExt2DArray = array of array of Extended;

i wstaw go w miejsce typu parametru a:

procedure foo(n: Integer; b, c: array of Extended; q, p: Extended;
              a: TExtOpenArray; source: Integer);

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