Make [] const in Array.
Switch to exceptions instead of error codes.
State "capacity should be positive" invariant in constructor.
Add memory leak chec and destructor to Array so as to avoid those.