хм а почему нельзя вернуть массив ?

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

хм а почему нельзя вернуть массив ?

Сообщение Attid » 13.04.2007 14:43:59

хочу такую функцию, а нельзя.
function ReturnArr: array of variant;

прийдется делать процедуру. создавать переменную . . =)
вопрос чисто из позновательных побуждений.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2586
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение Attid » 13.04.2007 15:37:38

ой а все намного хуже чем я думал
Код: Выделить всё
procedure test(var arr: array of variant);
begin
  SetLength(arr);
end;


Код: Выделить всё
Target OS: Win32 for i386
Compiling C:\Temp\project1.lpr
Compiling Unit1.pas
Unit1.pas(16,28) Hint: Parameter "Sender" not used
Unit1.pas(37,17) Error: Wrong number of parameters specified
Unit1.pas(37,17) Error: Illegal expression
Unit1.pas(45) Fatal: There were 2 errors compiling module, stopping


=( почему ?
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2586
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение shade » 13.04.2007 15:38:29

Код: Выделить всё
type vararr_t = array of variant;
function ReturnArr: vararr_t;
Аватара пользователя
shade
энтузиаст
 
Сообщения: 879
Зарегистрирован: 21.02.2006 20:15:48
Откуда: http://shamangrad.net/

Сообщение Attid » 13.04.2007 16:42:44

а почему ?
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2586
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение shade » 13.04.2007 17:04:58

Attid писал(а):а почему ?

Потому, что так написано в хелпах (не помню, толи FPC, толи Delphi) - чтобы вернуть/передать динамический массив его нужно описать отдельным типом - наверное чтобы не было путаницы с открытыми массивами.
Аватара пользователя
shade
энтузиаст
 
Сообщения: 879
Зарегистрирован: 21.02.2006 20:15:48
Откуда: http://shamangrad.net/

Сообщение Иван Шихалев » 18.04.2007 15:34:10

shade писал(а):наверное чтобы не было путаницы с открытыми массивами

Именно так.
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

Рейтинг@Mail.ru