16,472
社区成员
发帖
与我相关
我的任务
分享
typedef [public] struct _D3DMMATRIX {
union {
struct {
D3DMVALUE _11, _12, _13, _14;
D3DMVALUE _21, _22, _23, _24;
D3DMVALUE _31, _32, _33, _34;
D3DMVALUE _41, _42, _43, _44;
};
D3DMVALUE m[4][4];
};
} D3DMMATRIX;
typedef [public, switch_type(short)] union _WILLIE_UNION_TYPE // switch_type(short)表示用于这个联合的指示符的类型是short类型
{
[case(24)] float fMays; // 当联合指示符的值是24时,用fMays成员
[case(25)] double dMcCovey; // 当联合指示符的值是25时,用dMcCovey成员
[default] ; // 其它值是错误的,不对应任何成员
} WILLIE_UNION_TYPE;
typedef [public] struct _WINNER_TYPE
{
[switch_is(sUniformNumber)] WILLIE_UNION_TYPE w; // 这个w就是一个union,当要使用w的值时,以sUniformNumber成员的值来确定使用联合中的哪个成员
short sUniformNumber; // 这个就是联合指示符,它的值可以是24或者25
} WINNER_TYPE;