Показать сообщение отдельно
  #4  
Старый 21.08.2007, 16:01
Shelms Shelms вне форума
Прохожий
 
Регистрация: 03.08.2007
Сообщения: 6
Репутация: 10
По умолчанию Вопрос считаю незакрытым

Мой вопрос нужно перефразировать -
как на дельфи записать прототип функции СИ++:
"f1(const int *Arr)", т.е. требуется, чтобы в теле процедуры, Arr представлял собой по сути фактический параметр, который подпрограмма не должна изменять.

Следующие варианты записи аналогичной подпрограммы на дельфи не подходят, так не удовлетворяют вышеизложенному требованию:
f1(var Arr: TArr); - работа с оригиналом, но последний может быть изменен
f1(const Arr: TArr) - работа с копией фактического параметра, которую нельзя редактировать;

f1(Arr: TArr) - копия фактического параметра, которую можно редактировать.

Манипуляции с f1(Arr: array of integer) - дают те же результаты

Похоже, что на дельфи повторить описание "сишной" подпрограммы не удастся и нужно просто быть предельно внимательным, хотя это само собой разумеется.

Спасибо!
Ответить с цитированием