![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Оverload [D5, Win2k]
first_may © (2004-08-25 10:21:00)Здравствуйте, подскажите пожалуйста, где у меня ошибка при объявлении функций?
function CVResult(CVocabTemp: TCVocab): integer; overload;
function CVResult(CVocabTemp: TCVocab): string; overload;
Выдается: Declaration of 'CVResult' differs from previous declaration
first_may (2004-08-25 11:11:00) [1]ясно, спасибо
Rem (2004-08-25 11:05:00) [2][4]
Можно.
function Store(x: longint): boolean; overload;
function Store(x: shortint): boolean; overload;
Вым же ясно написали: перегружаемые процедуры, функции должны иметь разные входныепараметры. Иначе что компилятору делать в случае:
CVResultInt(CVocabTemp);
Как думаете, какая из Ваших функций будет вызвана?
first_may (2004-08-25 11:01:00) [3]То Anatoly Podgoretsky
В таком случае достаточно написать, так как функции разные
function CVResultInt(CVocabTemp: TCVocab): integer;
function CVResultStr(CVocabTemp: TCVocab): string;
А мне хотелось бы что бы просто изменить выходной параметр, в хелпе ведь написано про процедуры
procedure Store(X: Longint); overload;
procedure Store(X: Shortint); overload;
а почему так нельзя сделать с функциями?
Rem (2004-08-25 11:01:00) [4][3]
// overload;
Anatoly Podgoretsky (2004-08-25 10:48:00) [5]function CVResultInt(CVocabTemp: TCVocab): integer; overload;
function CVResultStr(CVocabTemp: TCVocab): string; overload;
first_may (2004-08-25 10:45:00) [6]а как мне быть, если надо только разный тип при возвращении?
Гаврила (2004-08-25 10:39:00) [7]Overloaded routines must be declared with the overload directive and must have distinguishing parameter lists