> -- Rifat писал(а):
> При этом необходимо чтобы массив был на 1 элемент больше, чем требуется хранить элементов.И по аналогии с этим Вы всегда можете использовать массивы на 1 элемент больше и тогда массивом нулевой длины будет реальный массив из 1 элемента.
В С++ в контейнерах просто есть некий фиктивный элемент после последнего элемента, который нужен для легализации итератора end.
Я об этом довольно подробно разъяснял в своей книжке...

Если в Обероне сделать такой же контейнер с невидимым фиктивным элементом, то должно все получиться.
Кстати, для пустого вектора попытка обратиться по индексу заканчивается аварийно.
Это - нормальное поведение.
Но зачем тащить в язык, если можно реализовать в библиотеке?