comp.lang.ada
 help / color / mirror / Atom feed
From: Adrian Hoe <abyhoe@gmail.com>
Subject: Re: Type in allocator has deeper level than designated class-wide type
Date: Tue, 14 Jun 2011 19:04:00 -0700 (PDT)
Date: 2011-06-14T19:04:00-07:00	[thread overview]
Message-ID: <381b180e-9c83-4c6f-a5c9-3b98c2154b82@p9g2000prh.googlegroups.com> (raw)
In-Reply-To: 6c4421f7-0fbd-49d0-a108-429d542608a2@h12g2000pro.googlegroups.com

On Jun 15, 12:01 am, Adam Beneschan <a...@irvine.com> wrote:
> On Jun 14, 1:01 am, Adrian Hoe <aby...@gmail.com> wrote:
>
>
>
> > But this defeats my implementation intention which the size and the
> > type of its data array can only be determined during runtime. Any
> > suggestion?
>
> There was no reason to change the generic parameters to High_Cloud, or
> to change the type of the Data component from Data_Array to Item.  As
> I tried to explain, your problem had nothing to do with arrays.  The
> problem has to do with where the Element_Record type extension is
> declared, which has to do with where the High_Cloud generic is
> instantiated.  In your latest example, you instantiated it directly in
> a library package, Hen, so there won't be a problem.  If you
> instantiate it inside a procedure, there will be a problem.  But the
> types of the components don't matter.
>
> If it *does* make a difference---i.e. if declaring Data as a
> Data_Array instead of an Item makes things fail, even if High_Cloud is
> still instantiated directly inside Hen---then I believe the problem is
> with your compiler, and you need to contact your compiler vendor and
> file a bug report.
>
>                                   -- Adam

Yes, of course both methods are working as long as the instantiation
happens at library level. The implementation of I_Array (e.g.
I_Array_31 to indicate array (1..31) of Integer) in Hen gives the
array a name to describe it, rather than Data_Array as in High_Cloud
in the 1st post.

Compiler  error has been ruled out.

Is there any other method other than using "generic" package? Again,
the rule is: The data type and the size of the array can only be
determined during runtime.

Thanks.
--
Adrian Hoe
http://adrianhoe.com/adrianhoe



  reply	other threads:[~2011-06-15  2:04 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-13 15:31 Type in allocator has deeper level than designated class-wide type Adrian Hoe
2011-06-13 17:11 ` Adam Beneschan
2011-06-14  0:49   ` Adrian Hoe
2011-06-14  1:08     ` Adam Beneschan
2011-06-14  1:11       ` Adrian Hoe
2011-06-14  1:07   ` Adrian Hoe
2011-06-14  1:24     ` Adam Beneschan
2011-06-14  6:04       ` Adrian Hoe
2011-06-14  8:01         ` Adrian Hoe
2011-06-14 16:01           ` Adam Beneschan
2011-06-15  2:04             ` Adrian Hoe [this message]
2011-06-15 15:44               ` Adam Beneschan
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox