Both versions of the Vec<Item> operator[](index) method should:
  1. If index is not valid: throw a range_error.
  2. Return myArray[index].
The method-template for the read version has this prototype:
   const Item& Vec<Item>::operator[](unsigned index) const;

The method-template for the write version has this prototype:

   Item& Vec<Item>::operator[](unsigned index);
Hopefully that is enough of a hint!