При выполнении строки:
B[1, 1] := A[1, 1];
вы получаете ошибку диапазона или нарушение прав доступа.
Это потому, что B
- это массив управляемого типа, которыйинициализируется компилятором с пустыми строками (каждая равна нулю).
Ошибка диапазона означает, что вы пытаетесь получить доступ к строковому элементу за пределами границ, то есть B[1,1]
(или B[1][1]
).Он появится, если включена опция компилятора «Проверка диапазона».В противном случае вы получите нарушение прав доступа, поскольку вы получаете доступ к области памяти, которая не выделена.
Чтобы заставить ее работать, выполните что-то вроде:
B[1] := A[1,1]; // Or B[1] := A[1][1];