このようなさまざまなタイプの変数を含むクラスがあります。
class Field
{
union DATATYPE
{
int intValue;
double doubleValue;
char* charValue;
MyClass* MyClassValue;
} Value;
~Field()
{
delete[] Value.charValue;
delete Value.MyClassValue;
}
}
このデストラクタはエラーを出します。一部のオブジェクトでは charValue が初期化されていないため、削除しようとするとエラーが発生しました。