You MUST use the myZero approach on this problem. You will receive zero credit on the assignment if you subtract off the lower bound every time the user calls your indexing operation. Each time the array is bound to memory (you allocate space and have myList point to it), you should do the calculation to find myZero. But do it only when the array is bound to memory. You will not do any subtractions involving the user's index.
YOU MUST USE THE MYZERO APPROACH FOR THIS PROBLEM.
myZero points to the logical address of the element with index 0 whether or not 0 is a valid index within the user's lbvector. Your code will check whether the index is valid (between the user's declared bounds). So if 0 is valid, your code will allow it. If it isn't, your code will print a useful error message and issue an assertion error.
Pointer arithmetic in C and C++ is done in the size of elements the pointer is declared to point to. You don't need to include any further information about size.