我想定义一个联合体,用于读取特殊类型的二进制文件。联盟应该有两个成员之一,一个是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