Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.05;
Скачать: CL | DM;

Вниз

Перегрузка функций   Найти похожие ветки 

 
Старик   (2006-01-09 10:56) [0]

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

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

unit Algebra;

interface
uses Math;

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

.....

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

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


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

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


 
palva ©   (2006-01-09 11:18) [2]

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


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

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


 
TUser ©   (2006-01-09 11:24) [4]

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

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


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


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

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


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

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

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

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



Страницы: 1 вся ветка

Текущий архив: 2006.02.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
15-1137219018
begin...end
2006-01-14 09:10
2006.02.05
С Днём рождения! 14 января


2-1137568718
ZZZ
2006-01-18 10:18
2006.02.05
Как определить сер. номер...?


3-1133786286
Provodnick
2005-12-05 15:38
2006.02.05
Выполнение запроса с помощью TADOQuery


5-1111410444
wicked
2005-03-21 16:07
2006.02.05
Перенос компонент BCB -> Delphi...


15-1137248808
Хинт
2006-01-14 17:26
2006.02.05
Глюк ICQ/Miranda