![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
передача массива в функцию
Тима © (2010-02-21 12:27:00)Всем привет, как передать функции массив в качестве параметра?
типо func TEST(mass:array of integer):boolean;
я создал тип
mymass =array of integer;
func TEST(mass:mymass):boolean;
передаю массив заранее объявленный как mymass, но данные в него не заносятся.
0x00FF00 (2010-02-23 14:47:00) [1]
> может он имел ввиду не то, что так сделать нельзя, а то
> что так делать нельзя?
именно так.
oxffff (2010-02-23 09:44:00) [2]
> Тима (21.02.10 12:27)
> Всем привет, как передать функции массив в качестве параметра?
>
>
> типо func TEST(mass:array of integer):boolean;
> я создал тип
> mymass =array of integer;
> func TEST(mass:mymass):boolean;
>
> передаю массив заранее объявленный как mymass, но данные
> в него не заносятся.
Проблема в том в что в названии присутствуют часть тела содержащая ягодицы.
Palladin (2010-02-23 09:06:00) [3]
> 0x00FF00 (23.02.10 02:27) [11]
может он имел ввиду не то, что так сделать нельзя, а то что так делать нельзя?
Германн (2010-02-23 02:42:00) [4]
> Наш лектор, помнится, об этом буквально распинался: (массив
> нельзя передавать в функцию по значению!)
Не все, не всегда могут словами четко выразить свои мысли. (Особенно если они смутные ввиду слабых знаний предмета).
Игорь Шевченко (2010-02-23 02:33:00) [5]0x00FF00 (23.02.10 02:27) [11]
> массив нельзя передавать в функцию по значению!
Странно. Структуру можно, массив нельзя. Дискриминация
0x00FF00 (2010-02-23 02:27:00) [6]> Телепаты =)
А может быть, просто умудренные суровой практикой преподавания.
Наш лектор, помнится, об этом буквально распинался: (массив нельзя передавать в функцию по значению!)×100500...
turbouser (2010-02-22 11:17:00) [7]Телепаты =)
Anatoly Podgoretsky (2010-02-22 08:42:00) [8]И зачем то указатель на указатель.
Palladin (2010-02-22 08:08:00) [9]абсолютно никакой разницы, кроме того, что в твоем варианте - куча ненужных символов
grisme (2010-02-22 07:21:00) [10]наверное, будет лучше так?
type TMyArray = array of Integer
PMyArray = ^TMyArray;
function addtomass(const mass:PMyArray; const number : Integer):boolean;
begin
...
SetLength(mass^, Length(mass^)+1);
mass^[Length(mass^)-1] := number;
...
end;
вызов:
var
ihavearray : TMyArray;
begin
...
if addtomass(@ihavearray, someinteger) then {good} else {bad}
...
end;
хотя, особой разницы, конечно нету.
Тима (2010-02-21 14:01:00) [11]именно в var, Спасибо Мужики!
MBo (2010-02-21 13:20:00) [12]может быть, речь идет о том, что нужен параметр,объявленный с модификатором var ?
KilkennyCat (2010-02-21 13:13:00) [13]
> oldman © (21.02.10 12:49) [3]
я думаю, возвращает, но не тот :)
oldman (2010-02-21 12:49:00) [14]Я думаю, что функция все добавляет.
Но не возвращает результат...
:)))
Тима (2010-02-21 12:38:00) [15]Ок, мне скажем удобней когда есть функция в которую я передаю массив и значение которое хочу туда записать.
type MyMass=array of integer;
Если бы была функция то в моем представлении она выглядела бы так:
function addtomass(mass:MyMass;number:integer):boolean;
begin
setlength(mass,length(mass)+1);
mass[length(mass)-1] := number;
...
end;
чтобы потом вызывать так
massiv:mymass;
addtomass(massiv,150);
addtomass(massiv,250);
KilkennyCat (2010-02-21 12:29:00) [16]Хотелось бы (на самом деле - нет, но это из вежливости) больше информации...