
typedef struct tagVARIANT { union { struct { VARTYPE vt; union { int64_t llVal; int32_t lVal; int16_t iVal; int8_t bVal; float fltVal; double dblVal; double date; char* cstrVal; short* bstrVal; void* pyref; int8_t* pbVal; int16_t* piVal; int32_t* plVal; int64_t* pllVal; float* pfltVal; double* pdblVal; double* pdate; char** pcstrVal; short** pbstrVal; SAFEARRAY* parray; VARIANT* pvarVal; } __VARIANT_NAME_3; } __VARIANT_NAME_2; } __VARIANT_NAME_1; } tagVARIANT; cgo 处理 union 太痛苦了,大家有什么好的解决办法吗?谢谢。