Вопрос считаю незакрытым
Мой вопрос нужно перефразировать -
как на дельфи записать прототип функции СИ++:
"f1(const int *Arr)", т.е. требуется, чтобы в теле процедуры, Arr представлял собой по сути фактический параметр, который подпрограмма не должна изменять.
Следующие варианты записи аналогичной подпрограммы на дельфи не подходят, так не удовлетворяют вышеизложенному требованию:
f1(var Arr: TArr); - работа с оригиналом, но последний может быть изменен
f1(const Arr: TArr) - работа с копией фактического параметра, которую нельзя редактировать;
f1(Arr: TArr) - копия фактического параметра, которую можно редактировать.
Манипуляции с f1(Arr: array of integer) - дают те же результаты
Похоже, что на дельфи повторить описание "сишной" подпрограммы не удастся и нужно просто быть предельно внимательным, хотя это само собой разумеется.
Спасибо!
|