我有一个类包含不同类型的变量,如下所示。
class Field
{
union DATATYPE
{
int intValue;
double doubleValue;
char* charValue;
MyClass* MyClassValue;
} Value;
~Field()
{
delete[] Value.charValue;
delete Value.MyClassValue;
}
}
这个析构函数给出了错误。由于某些对象没有初始化charValue,因此尝试删除它会引发错误。