Re: Two Dimensional Arrays
Peter <[email protected]> Tue, 14 Feb 2017 15:37:50 +0000
| Newsgroups | gmane.comp.compilers.gpc |
|---|---|
| Message-ID | <[email protected]> |
On 14/02/17 13:06, Peter wrote:
> Hi,
>
> Does anyone know the syntax for initializing a dynamic array of more
> than one dimension?
>
>
> type
> {$ifdef __GPC__}
> tMSet (n:CWord) = Array [1..n, 1..n] Of double;
> {$else}
> tMSet = Array Of Array Of double;
>
> var
> MSet : tMSet;
> {$endif}
>
> pMSet : ^tMSet;
>
> ........
>
>
> {$ifdef __GPC__}
> new (pMset, n, n);
> {$else}
> SetLength (Mset, n, n);
> pMSet := @Mset;
> {$endif}
>
>
> The above works in FPC, but fails in GPC on the "new" with
> "error: `New' applied to this schema requires 1 discriminant value"
>
> This general approach works fine for 1D arrays.
>
>
> Regards,
> Peter B
>
> _______________________________________________
> Gpc mailing list
> [email protected]
> https://www.g-n-u.de/mailman/listinfo/gpc
>
Fixed, I think.
Changing the line
tMSet (n:CWord) = Array [1..n, 1..n] Of double;
to
tMSet (j,k:LongInt) = Array [0..j-1, 0..k-1] Of double;
is working much better.
_______________________________________________
Gpc mailing list
[email protected]
https://www.g-n-u.de/mailman/listinfo/gpc