1
我想執行以下如何初始化一個int埋2級內心深處typdef'd工會
static Type2 MyData;
MyData.Base.Data = (0b0000000000010100);
爲靜態初始化。例如,
static Type2 MyData = (typecast)(0b0000000000010100);
我該怎樣強調這一點? 下面是Type1和Type2的類型定義
typedef union
{
UINT16 Data;
struct
{
unsigned :10;
unsigned var1 :3;
unsigned var2 :2;
unsigned var3 :1;
};
} Type1;
typedef union
{
Type1 Base;
struct
{
unsigned var4 :3;
unsigned var5 :2;
unsigned :11;
} Data;
} Type2;
爲什麼你需要在演員陣容中做到這一點?你不能在類型系統中做到嗎? – 2012-03-05 18:54:28
我得到一個無效的初始化錯誤。編譯器不能自動從標量類型轉換爲非標量類型 – Jeremy 2012-03-05 19:06:35
不,我的意思是說你完全不會投射。使用標準的結構/聯合初始化語法來初始化成員。 – 2012-03-05 19:11:57