Ma addDataset dove mette il puntatore? Array? List? Vector? Altro?
Non ti basta fare una delete, mettere a nullptr il puntatore e fare un controllo sulla validita?