![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
DynArray in procedure
Чародей © (2006-02-18 18:09:00)Как передать в процедуру в качестве параметра динамический массив и получить возможность изменять его размер. В следующем коде ошибка Incompotible types.
procedure TP(a:array of longint);
begin
SetLength(a,2);
end;
Почему?
Чародей (2006-02-18 18:19:00) [21]<off>
нда массив не катит нам нужен МАССИВ.
</off>
Спасибо
Джо (2006-02-18 18:18:00) [22]> [3] Palladin © (18.02.06 18:13)
var или не var — на сей счет можно гадать, так как прямых указаний на необходимость этого не было ;)
Palladin (2006-02-18 18:13:00) [23]Type
TArrayOfLongint=Array of Longint;
procedure TP(var a:TArrayOfLongint);
begin
SetLength(a,2);
end;
Джо (2006-02-18 18:11:00) [24]> Почему?
Потому, что в твоем варианте кода это не динамический массив. Это так называемый открытый массив, open array.
Джо (2006-02-18 18:10:00) [25]
type
TLongArray = array of Longint;
procedure TP(a:TLongArray);
begin
SetLength(a,2);
end;