TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy

TEAM-ADA@LISTSERV.ACM.ORG

Options: Use Classic View

Use Monospaced Font
Show HTML Part by Default
Condense Mail Headers

Topic: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Sender: "Team Ada: Ada Advocacy Issues (83 & 95)" <[log in to unmask]>
Date: Thu, 4 Feb 1999 04:40:03 -0600
Reply-To: "David C. Hoos, Sr." <[log in to unmask]>
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="iso-8859-1"
From: "David C. Hoos, Sr." <[log in to unmask]>
Parts/Attachments: text/plain (40 lines)
-----Original Message-----
From: Rick Duley <[log in to unmask]>
To: [log in to unmask] <[log in to unmask]>
Date: Thursday, February 04, 1999 2:47 AM
Subject: Problems with unconstrained arrays


>Hi Teamers,
>
>        Here is a couple of bits of bother with unconstrained arrays which I have
>been able to resolve neither through the study of the Ada95 LRM, the
>Rationale nor yet any of the texts in our library.
>1.   It doesn't appear to be possible to compile the declaration of an
>unconstrained type as either private or limited private.  I haven't been
>able to find a prohibition of this in the LRM.  Is this a compiler problem
>(GNAT 3.1)?
>2.   Try as I might I can't find a way to define a null constant of an
>unconstrained array type  -  I expected the syntax to run something like
>this:
>
>procedure Trial is
>
>   type Case_Type  is (Open, Shut);
>   type Court_Type is array(Positive range<>) of Case_Type;
>
>   Always_Guilty : constant Court_Type := Court_Type(2 .. 1);

You have to specify a value for the array elements that aren't going to be there! It has to be done like
this:

procedure Trial is

   type Case_Type  is (Open, Shut);
   type Court_Type is array (Positive range <>) of Case_Type;

   Always_Guilty : constant Court_Type := (1 .. 0 => Shut);
begin
   null;
end Trial;

ATOM RSS1 RSS2