From: Martin Krischik <krischik@users.sourceforge.net>
Subject: Re: Dynamically tagged expression required
Date: Thu, 08 Dec 2005 20:17:18 +0100
Date: 2005-12-08T20:17:18+01:00 [thread overview]
Message-ID: <2852224.m2vuDFxfOX@linux1.krischik.com> (raw)
In-Reply-To: dn9dnd$d5h$1@sunnews.cern.ch
Maciej Sobczak wrote:
> Hi,
>
> procedure Hello is
>
> type Shape is tagged null record;
> type Triangle is new Shape with
> record
> SideLen : Positive;
> end record;
>
> A : Shape;
> B : Shape'Class := A; -- (1)
> C : Triangle := (SideLen => 7);
try:
D : Shape'Class := C;
as well - it will work as well.
>
> begin
>
> A := C; -- (2)
> B := C; -- (3)
>
> end Hello;
>
>
> (2) does not compile, and this is what was expected.
> (3) does not compile, neither, beucase "dynamically tagged expression
> required".
>
> Interestingly, (1) is fine.
>
> Why is (1) allowed?
because it is an initialization.
> Why is (3) not allowed?
because it is an assignment.
Read:
http://en.wikibooks.org/wiki/Ada_Programming/Subtypes
http://en.wikibooks.org/wiki/Ada_Programming/Object_Orientation
Martin
--
mailto://krischik@users.sourceforge.net
Ada programming at: http://ada.krischik.com
next prev parent reply other threads:[~2005-12-08 19:17 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-12-08 13:50 Dynamically tagged expression required Maciej Sobczak
2005-12-08 14:46 ` Georg Bauhaus
2005-12-08 14:52 ` Dmitry A. Kazakov
2005-12-08 19:17 ` Martin Krischik [this message]
2005-12-09 9:09 ` Maciej Sobczak
2005-12-09 12:05 ` Jean-Pierre Rosen
2005-12-09 16:41 ` Robert A Duff
2005-12-09 20:18 ` Martin Krischik
2005-12-11 0:43 ` Matthew Heaney
2005-12-11 11:45 ` Martin Krischik
2005-12-11 14:24 ` Matthew Heaney
2005-12-11 15:18 ` Martin Krischik
2005-12-11 18:07 ` Matthew Heaney
2005-12-12 19:16 ` Martin Krischik
2005-12-13 20:43 ` Georg Bauhaus
2005-12-13 21:00 ` Georg Bauhaus
2005-12-09 20:41 ` Randy Brukardt
2005-12-09 20:16 ` Martin Krischik
2005-12-11 0:46 ` Matthew Heaney
2005-12-12 9:44 ` Maciej Sobczak
2005-12-12 19:13 ` Martin Krischik
2005-12-14 10:22 ` Maciej Sobczak
2005-12-15 20:10 ` Martin Krischik
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox