Форум: "Начинающим";
Текущий архив: 2012.01.29;
Скачать: [xml.tar.bz2];
Вниз[Pascal Error] E2250 There is no overloaded version of <function> Найти похожие ветки
← →
Cobalt © (2011-10-19 11:27) [0][Pascal Error] E2250 There is no overloaded version of <function> that can be called with these arguments
Есть две одноименные функции (overloaded), с одинаковыми аргументами, возвращающие string и double
Хочу присвоить переменной типа Variant результат, возвращаемый функцией. Как указать, какую из используемых функций брать?function MyFunc(S: string): string; overloaded;
function MyFunc(S: string): Double; overloaded;
...
var
V: Variant;
begin
V := MyFunc("param-pam-pam");
← →
Медвежонок Пятачок © (2011-10-19 11:33) [1]для начала не овелоадед, а оверлоад.
ну и потом перегруженные функции должны отличаться количеством параметров
← →
Cobalt © (2011-10-19 11:35) [2]Упс, ошибочка вышла, не туда посмотрел :-)
← →
Медвежонок Пятачок © (2011-10-19 11:37) [3]function MyFunc(S: string): variant;
//function MyFunc(S: string): Double; overloaded;
← →
Anatoly Podgoretsky © (2011-10-19 12:57) [4]Странно, что не обругали еще на стадии объявления. Ведь тут явная неодназначность, какую функцию использовать.
И еще в какой версии Дельфи появилась директива overloaded?
← →
И. Павел © (2011-10-19 13:03) [5]> [0] Cobalt © (19.10.11 11:27)
Так делать нельзя. Перегруженные функции не могут иметь одинаковые сигнатуры. Возвращаемое значение может вообще не использоваться, что вызывать тогда?
← →
Плохиш © (2011-10-19 13:17) [6]
> Есть две одноименные функции (overloaded), с одинаковыми
> аргументами, возвращающие string и double
В языке Делфи такое не допускается.
← →
jack128_ (2011-10-19 14:14) [7]V := Unit1.MyFunc("dw");
V := Unit2.MyFunc("dw");
← →
И. Павел © (2011-10-20 14:59) [8]> [7] jack128_ (19.10.11 14:14)
Обычно перегружаемые функции имеет смысл перегружать как раз только для того, чтобы они вызывались по одному имени и после смены типа переменной-аргумента код менять бы не пришлось:calc(inta)
calc(floatb)
calc(arrayc)
Если из-за разных аргументов придется менять область видимости - ИМХО, это уже не то.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2012.01.29;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.003 c