如何使用包括联盟在内的类的析构函数

cyn*_*ure 5 union destructor

我有一个类包含不同类型的变量,如下所示.

class Field
{
  union DATATYPE
  {
    int intValue;
    double doubleValue;
    char* charValue;
    MyClass* MyClassValue;
  } Value;
  ~Field()
  {
    delete[] Value.charValue;
    delete Value.MyClassValue;
  }
}
Run Code Online (Sandbox Code Playgroud)

这个析构函数给出了错误.由于某些对象没有初始化charValue,因此尝试删除它会引发错误.