Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

DynArray in procedure


Страницы:   1 2

Чародей ©   (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;


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо