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