Помощь - Поиск - Пользователи - Календарь
Полная версия: Вопрос о функциях
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
2ral
можно ли давать функции занение массива, записи или множества?
спасибо
klem4
что ты имеешь в виду ? Передавать как параметр ? Тогда да, а вот возвращать как значение - нет. (на старых компиляторах)
2ral
А почему нельзя давать значение? жаль кажись придется переделывать прогу(((

Добавлено через 3 мин.
Цитата(klem4 @ 21.12.2007 12:11) *

что ты имеешь в виду ? Передавать как параметр ? Тогда да, а вот возвращать как значение - нет. (на старых компиляторах)


кстати спасибо smile.gif
klem4
можешь использовать более новые компиляторы, например FPC или Delphi.

вот такой код на TP не прокатит:

type
TArr = array [1..10] of Integer;
TRec = record x, y: Integer; end;

function f1: TArr;
begin
end;

function f2: TRec;
begin
end;


но легко изменяется в такой

type
TArr = array [1..10] of Integer;
TRec = record x, y: Integer; end;

procedure f1(var arr: TArr);
begin
end;

procedure f2(var rec: TRec);
begin
end;


volvo
Множество, кстати, вполне перечислимый тип (в этом причина того, что ни записи ни массива нельзя вернуть - они являются не перечислимыми, а сложными типами), поэтому его можно возвращать как результат функции...
Гость
Множества - перечислимые????
чему равен Succ(Low(Set Of Char)) ??

Специально для особо-выёживающихся, которым лень проверить самим: Succ(Low(SetOfChar)) = #1, как и положено.
2ral
стоп стоп стоп. я не понял кое чего. я же использую fpc 2.1.4. почему же тогда он мне дает CE?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.