Функция с несколькими параметрами по умолчанию.

_andrews_.
Дата: 07.07.2009 12:10:42
F(Param1: Integer = -1; Param2: Boolean = FALSE)
Мне нужно вызвать Функцию только с параметром Param2
Вот так
F(TRUE)

Как так сделать?
__Avenger__
Дата: 07.07.2009 12:13:31
_andrews_.,

Сделай несколько функций с одним именем. RTFM overload
Naf
Дата: 07.07.2009 13:09:06
Кстати, чисто философский вопрос:
Ведь никто не запрещает реализовать синтаксис с вызовом параметров по-умолчанию не в конце списка. В данном случае это могло бы выглядеть так: F(,TRUE)
С уважением, Naf
емил_
Дата: 07.07.2009 13:37:34
Naf
Кстати, чисто философский вопрос:
Ведь никто не запрещает реализовать синтаксис с вызовом параметров по-умолчанию не в конце списка. В данном случае это могло бы выглядеть так: F(,TRUE)
С уважением, Naf


философский ответ :)

если имеем:

procedure F(Param1: Integer = -1; Param2: Boolean = FALSE);overload;
procedure F(Param1: DOUBLE = -1; Param2: Boolean = FALSE);overload;

вызов:

F(,TRUE)

Что изполнят?
Naf
Дата: 07.07.2009 13:45:03
емил_
Naf
Кстати, чисто философский вопрос:
Ведь никто не запрещает реализовать синтаксис с вызовом параметров по-умолчанию не в конце списка. В данном случае это могло бы выглядеть так: F(,TRUE)
С уважением, Naf


философский ответ :)

если имеем:

procedure F(Param1: Integer = -1; Param2: Boolean = FALSE);overload;
procedure F(Param1: DOUBLE = -1; Param2: Boolean = FALSE);overload;

вызов:

F(,TRUE)

Что изполнят?

Разруливать надо также как и
procedure F(Param2: Boolean = FALSE;Param1: Integer = -1);overload;
procedure F(Param2: Boolean = FALSE;Param1: DOUBLE = -1);overload;
с вызовом F(TRUE)
имхо, неопредленность и ошибка компиляции
eNose
Дата: 07.07.2009 13:49:24
Naf
имхо, неопредленность и ошибка компиляции
Runtime error будет.
Компиляция пройдёт нормально.
Naf
Дата: 07.07.2009 13:53:14
eNose
Naf
имхо, неопредленность и ошибка компиляции
Runtime error будет.
Компиляция пройдёт нормально.
0_о, я что-то пропустил? новое поведение компилятора? не верю
eNose
Дата: 07.07.2009 14:02:11
Мдя... а рунет пишет "выдаст исключение во время работы".

[Error] Unit1.pas(31): Ambiguous overloaded call to 'F'
Naf
Дата: 07.07.2009 14:09:01
eNose
Мдя... а рунет пишет "выдаст исключение во время работы".

[Error] Unit1.pas(31): Ambiguous overloaded call to 'F'

и где там Runtime?
eNose
Дата: 07.07.2009 14:10:55
Naf
eNose
Мдя... а рунет пишет "выдаст исключение во время работы".

[Error] Unit1.pas(31): Ambiguous overloaded call to 'F'

и где там Runtime?
Да я вот сам проверил и ошибку показал. Рунет врёт :(