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

Вниз

Не обязательный параметр   Найти похожие ветки 

 
kah68   (2003-06-10 12:39) [0]

Как описать функцию с необязательными параметрами (такую, например, как FreeMem(p:pointer[ ;Size:integer]))?


 
Palladin ©   (2003-06-10 12:41) [1]

function MyFunction(Param1:integer;Param2:integer=0);
см справку про параметры


 
Digitman ©   (2003-06-10 12:42) [2]

читаем хэлп :

You can specify default parameter values in a procedure or function heading. Default values are allowed only for typed const and value parameters. To provide a default value, end the parameter declaration with the = symbol followed by a constant expression that is assignment-compatible with the parameter’s type.
For example, given the declaration

procedure FillArray(A: array of Integer; Value: Integer = 0);

the following procedure calls are equivalent.

FillArray(MyArray);

FillArray(MyArray, 0);

A multiple-parameter declaration cannot specify a default value. Thus, while

function MyFunction(X: Real = 3.5; Y: Real = 3.5): Real;

is legal,

function MyFunction(X, Y: Real = 3.5): Real; // syntax error

is not.
Parameters with default values must occur at the end of the parameter list. That is, all parameters following the first declared default value must also have default values. So the following declaration is illegal.

procedure MyProcedure(I: Integer = 1; S: string); // syntax error

Default values specified in a procedural type override those specified in an actual routine. Thus, given the declarations

type TResizer = function(X: Real; Y: Real = 1.0): Real;

function Resizer(X: Real; Y: Real = 2.0): Real;
var
F: TResizer;
N: Real;

the statements

F := Resizer;

F(N);

result in the values (N, 1.0) being passed to Resizer.
Default parameters are limited to values that can be specified by a constant expression. Hence parameters of a dynamic-array, procedural, class, class-reference, or interface type can have no value other than nil as their default. Parameters of a record, variant, file, static-array, or object type cannot have default values at all.


 
kah68   (2003-06-10 12:43) [3]

Спасибо



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

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

Наверх




Память: 0.47 MB
Время: 0.025 c
1-84228
LoMaster
2003-06-12 23:32
2003.06.26
Как программно создать EditBox (TEdit)?


14-84667
Вопрошающий
2003-06-10 13:31
2003.06.26
Загадка природы


3-83860
Empleado
2003-05-27 12:19
2003.06.26
SQL update в одной транзакции


14-84675
S.G.K.
2003-06-10 18:16
2003.06.26
Real-Time


4-84842
yaric
2003-04-26 08:22
2003.06.26
Как узнать login пользовалеля который в текущий момент работает.