delete should only be used on pointers pointing to things that has been created with new.
arr is an array of two Array pointers. It has not been created with new so you should not try to destroy it with delete. Instead it will be automatically destroyed when the function ends.
arr[0] and arr[1] are pointing to Array objects that has been created with new so it is on them you should use delete.