Текущий архив: 2007.03.18;
Скачать: CL | DM;
Вниз
Каст от одного типа к другому Найти похожие ветки
← →
Bogdan1024 © (2007-02-26 12:37) [0]Есть функция, которая принимает как аргумент:
type TReal1DArray = array of real;
Как передать функции мой массив?
var a: array[0..8191] of real;
Нужно как-то кастануть его? А как?
← →
clickmaker © (2007-02-26 12:42) [1]var a: TReal1DArray;
SetLength(a, 8192);
← →
Bogdan1024 © (2007-02-26 13:33) [2]Не, так не интересно, у меня просто уже есть массив a с данными, если я создам массив b:TReal1DArray и буду перегонять туда данные из массива а, то это будет как-то не круто.
← →
clickmaker © (2007-02-26 13:35) [3]
> [2] Bogdan1024 © (26.02.07 13:33)
а откуда он у тебя есть?
← →
Elen © (2007-02-26 13:47) [4]
> Bogdan1024 © (26.02.07 13:33) [2]
Адрес передавай в процедуру на массив.
← →
deus krid (2007-02-26 14:26) [5]немогу понять в чем проблема. наведу упрощенный пример. объявляешь:
function MyMegaFunc(p: array of real; ...): ...;
begin
...
end;
и вызываеш эту функцию с любым массивом.
хотя лучше сделать как сказал Elen: обьявить тип массива, создать на него ссылочный тип и обьявить параметр функции этим типом и "@" тебе в помощь при вызове =)
← →
Sapersky (2007-02-26 15:19) [6]Два наиболее простых варианта:
1) Использовать TReal1DArray вместо var a: array[0..8191] of real; в своей программе.
2) Переделать функцию под var a: array[0..8191] of real или
PRealDArr = ^TRealDArr;
TRealDArr = array[0..0] of Real;
(придётся отдельно передавать в неё длину массива)
Адрес передавай в процедуру на массив.
А если процедура захочет (а она наверняка захочет) узнать длину массива?
function MyMegaFunc(p: array of real; ...): ...;
и вызываеш эту функцию с любым массивом.
Будет копирование.
← →
Elen © (2007-02-26 16:20) [7]
> А если процедура захочет (а она наверняка захочет) узнать
> длину массива?
...то его можно передать дополнительным параметром.
← →
Anatoly Podgoretsky © (2007-02-27 00:28) [8]> deus krid (26.02.2007 14:26:05) [5]
Это уже третий тип массива, про которые автор не спрашивал.
← →
Anatoly Podgoretsky © (2007-02-27 00:29) [9]> Bogdan1024 (26.02.2007 12:37:00) [0]
В общем никак, это разные по структуре структуры данных, остальное только фокусы.
Страницы: 1 вся ветка
Текущий архив: 2007.03.18;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.028 c