comp.lang.ada
 help / color / mirror / Atom feed
From: dewarr@my-dejanews.com
Subject: Re: access_to_constant as subprogram paramater
Date: 1998/09/19
Date: 1998-09-19T00:00:00+00:00	[thread overview]
Message-ID: <6u1b1h$f8d$1@nnrp1.dejanews.com> (raw)
In-Reply-To: 6u0pmf$rvk$1@nnrp1.dejanews.com

In article <6u0pmf$rvk$1@nnrp1.dejanews.com>,
  nelson@blaze-net.com wrote:
>
>
> Why does the language disallow an access_to_constant as a parameter
> to a subprogram?
>
> For example:
>
> --
> -- Example illustrating desire to pass access_to_constant to a procedure.
> -- Refer to RM 3.10(12) and 6.1.
> --
> procedure Access_Parameter is
>
>    PathName : aliased constant String := "/a/b/c.adb";
>       -- Declared as constant in order to produce compilation error
>
>    procedure Parse (Input : access String) is
> --
> -- Would like to declare this:
> --    procedure Parse (Input : access constant String) is
> -- as Parse never modifies the input string
> --
>    begin
>       null;  -- Parse a pathname string into components
>    end Parse;
>
> begin
>    Parse(PathName'Access);  -- line 22
> end Access_Parameter;
>
> for which gnat produces:
>
> cd /usr/nelson/example/
> gnatmake -c access_parameter.adb
> gcc -c access_parameter.adb
> access_parameter.adb:22:10: access-to-variable designates constant
> gnatmake: "access_parameter.adb" compilation error
>
> Compilation exited abnormally with code 2 at Sat Sep 19 13:23:25


The real question here is why are you using an access parameter in any case.
I think that access parameters tend to be very much overused. In your example,
why on earth not just pass the string as an in parameter?


-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/rg_mkgrp.xp   Create Your Own Free Member Forum




      parent reply	other threads:[~1998-09-19  0:00 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-09-19  0:00 access_to_constant as subprogram paramater nelson
1998-09-19  0:00 ` David C. Hoos, Sr
1998-09-19  0:00 ` Tucker Taft
1998-09-20  0:00   ` dewarr
1998-09-19  0:00 ` dewarr [this message]
replies disabled

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