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

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

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