[fpc-pascal]Forward type declaration

Peter Vreman peter at freepascal.org
Wed Apr 23 21:55:05 CEST 2003


> Hi!
>
> Currently I'm translating libusb for FPC. Therefore I used "h2pas".
>
> libusb has two types called usb_device and usb_bus. Both are records.
> Each of them has fields, which have ^usb_device and ^usb_bus as types.
> So there is a cross type reference between these two records.
>
> In C they simply build a forward type declaration ("struct usb_device;
> struct usb_bus;"). In FPC unfortunately this is not possible. Is this
> correct?
>
> Are there any plans to add forward type declarations?

It is already possible.

You need to define a pointer type to the record first. See the example for
a linked list:

type
  PRec = ^TRec
  TRec = record
     next  : PRec;
  end;


Peter



More information about the fpc-pascal mailing list