我想定義一個聯合體,用於讀取特殊類型的二進制文件。聯盟應該有兩個成員之一,一個是int,另一個是一個字符串,或者任何其他問題;做這個的最好方式是什麼?wstring in union
union uu {
int intval;
wstring strval;
uu(){ memset(this, 0, sizeof(this)); }
}
它說:「聯盟成員strval有拷貝構造函數」 我認爲strval應該有一個*或&; 你會如何定義它?
在此先感謝
哎呀
'memset(this,0,sizeof(this));'不要在你寫的任何類中這樣做。 – GManNickG 2010-04-05 14:05:44
我不明白你的工會。你不能想要一個'int'或一個寬的string_。數據如何可以是一個32位整數或一個字符串,寬或不是?你確定你不是在尋找'wchar_t',寬字符嗎? – zneak 2010-04-05 14:08:00
@zneak:'wstring'不是一個POD旁邊,一個工會的成員可以是不同的大小。 – kennytm 2010-04-05 14:11:38