Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.04.2011, 16:44   #1
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию Передача параметров в функции(Одинаковые имена дефолта и передаваемого параметра) это плохо?

Доброго времени суток форумчане!

Возникло в моей программе внезапное Acces Violation.

Допустим у меня есть функция:
Код:
function somefunc(Indx:integer):string;
begin
{.....}
end;
Я использую так:
Код:
var
 indx:integer;
begin
indx:=1945;
somefunc(Indx);
end;
это плохо или хорошо что имена совпадают?

Человек_Борща вне форума Ответить с цитированием
Старый 13.04.2011, 16:47   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

нет, имя параметра имеет значение лишь внутри этой функции.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 13.04.2011, 16:49   #3
mss
Заблокирован
 
Регистрация: 27.05.2010
Сообщений: 1,099
По умолчанию

это плохо или хорошо что имена совпадают?

Страшного ничего нет, но в большинстве случаев не следует так делать во избежание путаницы в голове программиста.

Зачастую хорошим тоном считается применение префикса "A" в имени формального параметра процедуры или ф-ции при ее объявлении.

Например,
Код:

function somefunc(AIndx:integer):string; //AIndex по смыслу читается как НЕКОТОРЫЙ индекс
begin
{.....}
end;
...
var
 indx:integer;
begin
indx:=1945;
somefunc(Indx); // а здесь Indx читается как КОНКРЕТНЫЙ индекс
end;

Последний раз редактировалось mss; 13.04.2011 в 16:52.
mss вне форума Ответить с цитированием
Старый 13.04.2011, 16:54   #4
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Примного благодарен
Человек_Борща вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
передача функции как параметра в модуль olegozavr Паскаль, Turbo Pascal, PascalABC.NET 1 13.02.2011 22:33
Передача параметра функции FredPerry Общие вопросы C/C++ 2 29.12.2010 06:46
Проверка значения передаваемого параметра в запросе Access2007 Makso Microsoft Office Access 4 23.04.2010 07:24
Передача функции как параметра ezus Общие вопросы C/C++ 2 24.08.2009 10:19
Функции. Передача массива в качестве параметра функции. Wia Помощь студентам 2 17.03.2009 14:57