From: Jere <jhb.chat@gmail.com>
Subject: Re: why "unconstrained subtype in component declaration" while said component given default value ?
Date: Sat, 26 May 2018 14:40:41 -0700 (PDT)
Date: 2018-05-26T14:40:41-07:00 [thread overview]
Message-ID: <2d717805-f6a4-4de9-bf4a-d45037034f96@googlegroups.com> (raw)
In-Reply-To: <f9a3c91e-03d0-4053-827b-170ba762dddf@googlegroups.com>
On Saturday, May 26, 2018 at 5:03:23 PM UTC-4, Mehdi Saada wrote:
> Hello.
> Why is this case not allowed ? Is there really an implementation issue here ? I doubt so. Why should it be any different from the non-issue of initializing variables of unconstrained subtypes vs declaring uninitialized variables of constrained subtypes ?
> type A (N: Positive) is record
> II : Integer;
> Chaine : String := Give_String(N);
> end record;
>
Consider for a second that you are the compiler and you need to
allocate a variable:
My_Variable : A(10);
What size (in bytes) do you need to allocate for the variable? Remember
that the function Give_String can be exceedingly complex or even a
function from a shared library. How do you at compile time determine
the size of that record type?
However you can do:
type A(N : Positive) is record
II : Integer;
Chaine : String(1..N) := Get_String(N);
end record;
Because now the compiler will know at compile time how long the string
is and thus how big to make the record.
next prev parent reply other threads:[~2018-05-26 21:40 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-26 21:03 why "unconstrained subtype in component declaration" while said component given default value ? Mehdi Saada
2018-05-26 21:40 ` Jere [this message]
2018-05-26 22:11 ` Mehdi Saada
2018-05-26 23:55 ` Jere
2018-05-27 0:14 ` Jere
2018-05-27 0:29 ` Mehdi Saada
2018-05-27 0:45 ` Mehdi Saada
2018-05-27 17:15 ` Shark8
2018-05-27 17:30 ` AdaMagica
2018-05-27 18:17 ` Shark8
2018-05-29 1:28 ` AdaMagica
2018-05-29 17:20 ` Mehdi Saada
2018-05-27 7:45 ` Jeffrey R. Carter
2018-05-26 23:41 ` Shark8
2018-05-27 7:07 ` Simon Wright
2018-05-27 17:22 ` Shark8
2018-05-27 12:24 ` Mehdi Saada
2018-05-29 22:28 ` Randy Brukardt
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox