
![]() |
![]() |
|
STRUCT
RESOURCE
members
<struct-initialiser>
::=
<struct-name>
"{
" <struct-initialiser-item-list>
"}
"
<struct-initialiser-item>
::=
<member-name>
"=
" <initialiser>
";
"
To initialise a member of STRUCT
type, give the struct-name with which you wish to initialise it, and then specify each member of that struct which you wish to initialise.
The member-names listed must be members of the struct-name struct. Each initialise must be of a type compatible with the member it is initialising.
Given the previously defined struct types,
STRUCT STRINGCOUNT
{
BUF message;
WORD num;
}
STRUCT SAMPLE
{
WORD anynumber;
STRUCT text; // should be a STRINGCOUNT
}
the following example shows how to define the struct within a resource:
RESOURCE SAMPLE show_how
{
anynumber=10;
text=STRINGCOUNT
{
message="Hello"
num=5;
};
}
The compiler does not enforce type safety. Any struct can be used to initialise a member declared to be of struct type. Usually, however, the designer of the struct will have intended only one or a limited number of structs ever be used to initialise a member. You should ensure that you initialise struct members with the intended struct type.