Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Перегрузка функций [D6, Win2k]


Старик ©   (2006-01-09 10:56:00) 

Почему не удается перегрузить функции, не имеющие параметров?

Частный случай:

unit Algebra;

interface
uses Math;

function GetIdentityMatrix_3Dim : Matrix_3Dim; overload;
function GetIdentityMatrix_4Dim : Matrix_4Dim; overload;

.....

После такого определения компилятор пишет, что объявление функции GetIdentityMatrix_4Dim отличается от предыдущего.

А перегрузка функций, имеющих хоть какой-нибудь параметр и не важно какой тип результата, происходит без проблем.


Старик   (2006-01-09 12:46:00) [1]

Виндоват :) По инерции ляпнул.
Обе функции называются просто GetIdentityMatrix.
А результаты разные.

//разные параметры. По парамерам они и различаются.

Понятно, спасибо.


Плохиш   (2006-01-09 11:25:00) [2]


> palva ©   (09.01.06 11:18) [2]
> По-моему,

Твоё мнение совпадает с мнением разработчиков ;-) Об этом они в справке в первом же абзаце написали.


TUser   (2006-01-09 11:24:00) [3]

В этом смысл есть. Вот потом будет написан вызов
a:=bbb
где bbb - перегруженная функция. Компилятор написать должен такие инструкции
1. вызвать функцию
2. получить результат в переменную а

И что должен писать компилятор по поводу п.1? Отсюда и правило - перегружаемые функции должны иметь одинаковые имена и разные параметры. По парамерам они и различаются.


френк   (2006-01-09 11:22:00) [4]

забыл я ентот момент, ей богу... но скорее вы правы.


palva   (2006-01-09 11:18:00) [5]

> разные параметры / результаты
По-моему, должны быть разные параметры. Разных результатов недостаточно.


френк   (2006-01-09 11:05:00) [6]

простите, но я не вижу тут перегрузки )
1. должны быть одинаковые(!) имена функций, чего я не наблюдаю у вас
2. должны быть разные параметры / результаты, что я наблюдаю )


Наверх

Титульная страница Поиск, карта сайта Написать письмо