arraySize == 0 in Constructor, Copy-Constructor, Copy-Assignment Operator, resizeArray(), thus doing new int[0].delete [] in Destructor, Copy-Assignment Operator, resizeArray()delete [] in Copy-Constructor.insert() and remove() to copy, instead of just shifting and overwriting indices in-place.resizeArray().
delete [] data; data = temp; delete [] temp;