comp.lang.ada
 help / color / mirror / Atom feed
From: Dmitry A. Kazakov <mailbox@dmitry-kazakov.de>
Subject: Re: Question: Combination of Access and Constraining
Date: Thu, 20 Feb 2003 10:29:59 +0100
Date: 2003-02-20T10:29:59+01:00	[thread overview]
Message-ID: <9d795v0h3qa2922u8vodfhpfvprpre6ak2@4ax.com> (raw)
In-Reply-To: 1d13e1b4.0302200006.70207b86@posting.google.com

On 20 Feb 2003 00:06:15 -0800, papand0pul0@yahoo.com (Papandopulo)
wrote:

>Small Ada question:
>
>I need one function to accept
>an array of unknown size of Boolean,
>so I declare type and function:
>
>type Tp is array (Positive range <>) of Boolean;
>type Tp_Access is access all Tp;
>
>function Fn (Arg : in Tp_Access) return Natural;

Pointers are inherently bad. Why not:

function Fn (Arg : Tp) return Natural;

>Now I try to call it with the constrained array:
>
>declare
>  type TpCon is new Tp(1..1);
                       ^^^^^^
But this is another type! Probably you meant a subtype:

subtype TpCon is Tp(1..1);

>  Arr : aliased TpCon;
>begin
>  Arr(1) := True;
>  Res := Fn (Arr'Access);
>end;
>
>Compiler says on the invocation line:
>expected type: Tp_Access defined at ...
>found type TpCon defined at ...
>
>I think that access to constrained
>type should be convertible to access
>to unconstrained type.
>
>So where I am going wrong here ?

You are mixing types and subtypes. If you want just to put a
constraint on a type, declare a constrained subtype.

---
Regards,
Dmitry Kazakov
www.dmitry-kazakov.de



  parent reply	other threads:[~2003-02-20  9:29 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-02-20  8:06 Question: Combination of Access and Constraining Papandopulo
2003-02-20  9:00 ` tmoran
2003-02-20  9:29 ` Dmitry A. Kazakov [this message]
2003-02-20 15:20   ` Papandopulo
2003-02-20 16:20     ` Dmitry A. Kazakov
2003-02-20 17:58     ` Jeffrey Carter
2003-02-20 20:35       ` Yuri
2003-02-21  1:21         ` Jeffrey Carter
2003-02-21 22:53           ` Yuri
2003-02-23 12:34             ` Simon Wright
2003-02-23 17:50               ` Jeffrey Carter
2003-02-23 17:55               ` John R. Strohm
2003-02-23 17:48             ` John R. Strohm
2003-02-20 13:12 ` David C. Hoos, Sr.
2003-02-20 15:00 ` Matthew Heaney
  -- strict thread matches above, loose matches on Subject: below --
2003-02-20  9:46 Grein, Christoph
replies disabled

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