Вновь про перегрузку функций

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Вновь про перегрузку функций

Сообщение galover »

Покуривая манул наткнулся на то, что Round имеет следующие сигнатуры:
Round (x : anyType; precision : word) : double
Round(x : anyType) : double;

Как же так, почему vip не дает мне сделать свои перегруженные функции? Хотя полагаю, что в мануале ошибка - функция одна, просто 2-й параметр не обязательный. Могу я сделать хотябы так же, т.е. как объявить необязательный параметр? Спасибо!
Ged
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение Ged »

interface DefaultParam;
procedure MyRound(sss:string='Раз');
{
Message(sss);
}

HandleEvent
cmInit:
{
MyRound;
MyRound('Два');
}
End;
end.
galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Сообщение galover »

Ged
Thnx!!! :cool: ларчик открывался просто
galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Сообщение galover »

Засада, если первый параметр умолчковый, то его нельзя пропустить. Т.е. вот так не канает

Код: Выделить всё

function Foo(str : string = ''; val : longint = 0);
{
}

Foo(, 14);
а жаль, было бы вообще ажурно :(

P.S. Порадовало, если объявить функцию без возвращаемого параметра, то компилятор выдает
Foo.vip(29) Предупреждение: Считаю эту функцию процедурой (исправь, да?) (стр.29, поз.46 в Foo.vip)
Ged
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение Ged »

в любом языке в т.ч. и сях вроде нельзя пропускать параметры. Обычно дефолтные пихают в конец.
galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Сообщение galover »

Ged
в бэйсике мона :)
Ged
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение Ged »

На счет Бэйсика не скажу.. Было давно лет 10 назад...
А так обратитесь в свою ОТП для расширения функционала :-o
PS: Бывает и "Ресурс протух"
Ответить