Struct definition after static if
Don
nospam at nospam.com
Mon Dec 14 08:05:31 PST 2009
Zarathustra wrote:
> I must to put a 'struct definition' inside a 'static if block' but other 'struct definition' doesn't see them.
>
> static if(_WIN32IE !< 0x0400)
> struct TVINSERTSTRUCT{
>
> HTREEITEM hparent ;
> HTREEITEM hinsertafter;
>
> union tagDUMMYUNIONNAME{
> TVITEMEX itemex;
> TVITEM item;
> }
>
> tagDUMMYUNIONNAME DUMMYUNIONNAME;
>
> alias DUMMYUNIONNAME.itemex itemex;
> alias DUMMYUNIONNAME.item item ;
>
> }
> else
> struct TVINSERTSTRUCT{
> HTREEITEM hParent;
> HTREEITEM hInsertAfter;
> TVITEM item;
> }
>
> static if(_WIN32IE !< 0x0600)
> struct TVITEMEX{
> UINT mask ;
> HTREEITEM item ;
> UINT state ;
> UINT statemask ;
> TSTR text ;
> UINT textmax ;
> INT image ;
> INT selectedimage;
> INT children ;
> LPARAM lparam ;
> INT integral ;
> UINT stateex ;
> HWND hwnd ;
> INT expandedimage;
> }
> else
> struct TVITEMEX{
> UINT mask ;
> HTREEITEM item ;
> UINT state ;
> UINT statemask ;
> TSTR text ;
> UINT textmax ;
> INT image ;
> INT selectedimage;
> INT children ;
> LPARAM lparam ;
> INT integral ;
> }
>
> It works only if I declare TVITEMEX before TVINSERTSTRUCT. And the second question, Is it possible to use anonymous unions and structs?
Does that compile??? It shouldn't. !< is a floating-point operator.
More information about the Digitalmars-d-learn
mailing list