From: John Harbaugh <john.s.harbaugh2@boeing.com>
Subject: Re: Access to Unconstrained Arrays
Date: 1997/04/18
Date: 1997-04-18T00:00:00+00:00 [thread overview]
Message-ID: <3357B77F.44EE@boeing.com> (raw)
In-Reply-To: 335507B4.7A03@boeing.com
John Harbaugh wrote:
>
> When trying to pass pointers to objects of unconstrained array type, I
> am getting confusing compiler errors. For example:
>
> procedure Main is
> type Lists is array(Natural range <>) of Integer;
> type Lists_Ptrs is access all Lists;
>
> procedure Do_Something(To : in out Lists_Ptrs) is...
>
> List1 : Lists(1..4) := (1,2,3,4);
> List2 : Lists := (1,2,3,4);
>
> begin
> Do_Something(To => List1); -- Compilation Error. Why?
> Do_Something(To => List2); -- No problemo!!!
> end Main;
>
> List1 should be an anonymous constrained subtype of type Lists. I was
> under the impression that subtypes are simply a subset of their base
> type. Is this not the case for constrained subtypes of unconstrained
> types?
>
> Thanks in advance for any who may respond.
>
> - John
How embarrasing, please excuse the mangled code. What I meant to show
was:
procedure Main is
type Lists is array(Natural range <>) of Integer;
type Lists_Ptrs is access all Lists;
procedure Do_Something(To : in Lists_Ptrs) is separate;
List1 : aliased Lists(1..4) := (1,2,3,4);
List2 : aliased Lists := (1,2,3,4);
Ptr : Lists_Ptrs;
begin
Ptr := List1'access;
Do_Something(To => Ptr); -- Compilation Error. Why?
Ptr := List2'access;
Do_Something(To => Ptr); -- No problemo!!!
end Main;
Apparently, the problem is that Lists(1..4) is a different subtype
indication than Lists.
Sheepishly,
- John
next prev parent reply other threads:[~1997-04-18 0:00 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
1997-04-16 0:00 Access to Unconstrained Arrays John Harbaugh
1997-04-18 0:00 ` Joel VanLaven
1997-04-20 0:00 ` Robert Dewar
1997-04-18 0:00 ` Robert Dewar
1997-04-18 0:00 ` John Harbaugh [this message]
1997-04-20 0:00 ` Robert Dewar
1997-04-21 0:00 ` Joel VanLaven
1997-04-21 0:00 ` Robert A Duff
1997-04-23 0:00 ` Robert Dewar
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox