Type (Alias)
Declares an alternative name for a type
Syntax
`
Type typename As symbol
`
Parameters
`typename`
new alternative name.
`symbol`
symbol or data type declaration to associate with `typename`.
Description
`symbol` may refer to any declared data type including a built-in data type, `Sub` or `Function` pointer, `Type` declaration, `Union` declaration, or `Enum` declaration.
A type alias can be used to allow forward declarations of parameters in procedure declarations, but only used with pointers or parameters passed by reference (excluding arrays).
A type alias can also be used to allow forward declarations of data fields in User Defined Types, but only used with pointers.
Example
`
Type ParentFwd As Parent
Type Child
Name As ZString * 32
ParentRef As ParentFwd Ptr
''...
End Type
Type Parent
Name As ZString * 32
ChildList(0 To 9) As Child
''...
End Type
Dim p As Parent
p.Name = "Foo"
With p.ChildList(0)
.Name = "Jr."
.ParentRef = @p
'' ...
End With
With p.ChildList(0)
Print .Name; " is child of "; .parentRef->Name
End With
`
Differences from QB

- New to FreeBASIC

See also

- `Type...End Type`
- `Type (Temporary)`