Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Внизпередача массива в функцию Найти похожие ветки
← →
Тима (2010-02-21 12:27) [0]Всем привет, как передать функции массив в качестве параметра?
типо func TEST(mass:array of integer):boolean;
я создал тип
mymass =array of integer;
func TEST(mass:mymass):boolean;
передаю массив заранее объявленный как mymass, но данные в него не заносятся.
← →
KilkennyCat © (2010-02-21 12:29) [1]Хотелось бы (на самом деле - нет, но это из вежливости) больше информации...
← →
Тима (2010-02-21 12:38) [2]Ок, мне скажем удобней когда есть функция в которую я передаю массив и значение которое хочу туда записать.
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);
← →
oldman © (2010-02-21 12:49) [3]Я думаю, что функция все добавляет.
Но не возвращает результат...
:)))
← →
KilkennyCat © (2010-02-21 13:13) [4]
> oldman © (21.02.10 12:49) [3]
я думаю, возвращает, но не тот :)
← →
MBo © (2010-02-21 13:20) [5]может быть, речь идет о том, что нужен параметр,объявленный с модификатором var ?
← →
Тима (2010-02-21 14:01) [6]именно в var, Спасибо Мужики!
← →
grisme © (2010-02-22 07:21) [7]наверное, будет лучше так?
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;
хотя, особой разницы, конечно нету.
← →
Palladin © (2010-02-22 08:08) [8]абсолютно никакой разницы, кроме того, что в твоем варианте - куча ненужных символов
← →
Anatoly Podgoretsky © (2010-02-22 08:42) [9]И зачем то указатель на указатель.
← →
turbouser © (2010-02-22 11:17) [10]Телепаты =)
← →
0x00FF00 (2010-02-23 02:27) [11]> Телепаты =)
А может быть, просто умудренные суровой практикой преподавания.
Наш лектор, помнится, об этом буквально распинался: (массив нельзя передавать в функцию по значению!)×100500...
← →
Игорь Шевченко © (2010-02-23 02:33) [12]0x00FF00 (23.02.10 02:27) [11]
> массив нельзя передавать в функцию по значению!
Странно. Структуру можно, массив нельзя. Дискриминация
← →
Германн © (2010-02-23 02:42) [13]
> Наш лектор, помнится, об этом буквально распинался: (массив
> нельзя передавать в функцию по значению!)
Не все, не всегда могут словами четко выразить свои мысли. (Особенно если они смутные ввиду слабых знаний предмета).
← →
Palladin © (2010-02-23 09:06) [14]
> 0x00FF00 (23.02.10 02:27) [11]
может он имел ввиду не то, что так сделать нельзя, а то что так делать нельзя?
← →
oxffff © (2010-02-23 09:44) [15]
> Тима (21.02.10 12:27)
> Всем привет, как передать функции массив в качестве параметра?
>
>
> типо func TEST(mass:array of integer):boolean;
> я создал тип
> mymass =array of integer;
> func TEST(mass:mymass):boolean;
>
> передаю массив заранее объявленный как mymass, но данные
> в него не заносятся.
Проблема в том в что в названии присутствуют часть тела содержащая ягодицы.
← →
0x00FF00 (2010-02-23 14:47) [16]
> может он имел ввиду не то, что так сделать нельзя, а то
> что так делать нельзя?
именно так.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.069 c