comp.lang.ada
 help / color / mirror / Atom feed
* Completion error
@ 2002-10-18 20:42 Dominic D'Apice
  2002-10-19 14:54 ` Gautier
  0 siblings, 1 reply; 3+ messages in thread
From: Dominic D'Apice @ 2002-10-18 20:42 UTC (permalink / raw)


Hi , what means this :

services.ads: Error: line 7 col 6 LRM:3.10.1(3), Completion required for
incomplete type 'reservation', Continuing 

I declare this :


ADS :
-------------------------------------------
type reservation;
type louer is access reservation;


ADB :
-------------------------------------------
type reservation is record
       num       : natural := 0;

       plancher  : integer := 20;
       plafond   : integer := 20;
       classe    : auto := econo;
       nomclient : string(1..256);
end record;


type tete_liste_louer is record
	 premier  : louer   := null;
	 dernier  : louer   := null;
	 longueur : natural := 0;
end record;




thanks




^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Completion error
       [not found] <000001c276e6$da5a6cb0$0101a8c0@Dominik>
@ 2002-10-18 21:11 ` David C. Hoos
  0 siblings, 0 replies; 3+ messages in thread
From: David C. Hoos @ 2002-10-18 21:11 UTC (permalink / raw)



----- Original Message -----
From: "Dominic D'Apice" <dapiced@sympatico.ca>
To: "Ada Anglais Mailling List" <comp.lang.ada@ada.eu.org>
Sent: Friday, October 18, 2002 3:42 PM
Subject: Completion error


> Hi , what means this :
>
> services.ads: Error: line 7 col 6 LRM:3.10.1(3), Completion required for
> incomplete type 'reservation', Continuing
>
It means exactly what it says.

Here is the referenced section of the LRM:
3.10.1 (3) An incomplete_type_declaration requires a completion, which shall
be a full_type_declaration. If the incomplete_type_declaration occurs
immediately within either the visible part of a package_specification or a
declarative_part, then the full_type_declaration shall occur later and
immediately within this visible part or declarative_part. If the
incomplete_type_declaration occurs immediately within the private part of a
given package_specification, then the full_type_declaration shall occur
later and immediately within either the private part itself, or the
declarative_part of the corresponding package_body.

Your example was not complete enough to determine whether the incomplete
declaration of 'reservation' was in the private part of the specification.


<snip>






^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Completion error
  2002-10-18 20:42 Completion error Dominic D'Apice
@ 2002-10-19 14:54 ` Gautier
  0 siblings, 0 replies; 3+ messages in thread
From: Gautier @ 2002-10-19 14:54 UTC (permalink / raw)


> Hi , what means this :
> 
> services.ads: Error: line 7 col 6 LRM:3.10.1(3), Completion required for
> incomplete type 'reservation', Continuing 

If you want to make the contents of the type 'reservation'
not direclty referenceable by the user,
you have to make it a private type and describe it in the
"private" part of the package 'Services':

package Services is

  type reservation is private;
  type louer is access reservation;

private
 
  type auto is (econo,polluting);

  type reservation is record
         num       : natural := 0;

         plancher  : integer := 20;
         plafond   : integer := 20;
         classe    : auto := econo;
         nomclient : string(1..256);
  end record;

end Services;

HTH
________________________________________________________
Gautier  --  http://www.mysunrise.ch/users/gdm/gsoft.htm

NB: For a direct answer, address on the Web site!



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2002-10-19 14:54 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-10-18 20:42 Completion error Dominic D'Apice
2002-10-19 14:54 ` Gautier
     [not found] <000001c276e6$da5a6cb0$0101a8c0@Dominik>
2002-10-18 21:11 ` David C. Hoos

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