incomplete_type_declaration ::= type defining_identifier [discriminant_part];
NOTES
type Cell; -- incomplete type declaration type Link is access Cell;
type Cell is
   record
      Value  : Integer;
      Succ   : Link;
      Pred   : Link;
   end record;
Head : Link := new Cell'(0, null, null); Next : Link := Head.Succ;
type Person(<>); -- incomplete type declaration type Car; -- incomplete type declaration
type Person_Name is access Person; type Car_Name is access all Car;
type Car is
   record
      Number  : Integer;
      Owner   : Person_Name;
   end record;
type Person(Sex : Gender) is
   record
      Name     : String(1 .. 20);
      Birth    : Date;
      Age      : Integer range 0 .. 130;
      Vehicle  : Car_Name;
      case Sex is
         when M => Wife    : Person_Name(Sex => F);
         when F => Husband : Person_Name(Sex => M);
      end case;
   end record;
My_Car, Your_Car, Next_Car : Car_Name := new Car; -- See section 4.8 Allocators George : Person_Name := new Person(M); ... George.Vehicle := Your_Car;
Go to the first, previous, next, last section, table of contents.