14.4.2.1 Applicable function member

王朝other·作者佚名  2006-02-28
窄屏简体版  字體: |||超大  

A function member is said to be an applicable function member with respect

to an argument list A when all

of the following are true:

?The number of arguments in A is identical to the number of parameters in

the function member

declaration.

?For each argument in A, the parameter passing mode of the argument (i.e.,

value, ref, or out) is

identical to the parameter passing mode of the corresponding parameter, and

Chapter 14 Expressions

135

for a value parameter or a parameter array, an implicit conversion (?3.1)

exists from the type of the

argument to the type of the corresponding parameter, or

for a ref or out parameter, the type of the argument is identical to the

type of the corresponding parameter.

[Note: After all, a ref or out parameter is an alias for the argument

passed. end note]

For a function member that includes a parameter array, if the function

member is applicable by the above

rules, it is said to be applicable in its normal form. If a function member

that includes a parameter array is

not applicable in its normal form, the function member may instead be

applicable in its expanded form:

?The expanded form is constructed by replacing the parameter array in the

function member declaration

with zero or more value parameters of the element type of the parameter

array such that the number of

arguments in the argument list A matches the total number of parameters. If

A has fewer arguments than

the number of fixed parameters in the function member declaration, the

expanded form of the function

member cannot be constructed and is thus not applicable.

?If the class, struct, or interface in which the function member is

declared already contains another

applicable function member with the same signature as the expanded form,

the expanded form is not

applicable.

?Otherwise, the expanded form is applicable if for each argument in A the

parameter passing mode of the

argument is identical to the parameter passing mode of the corresponding

parameter, and

for a fixed value parameter or a value parameter created by the expansion,

an implicit conversion (?3.1)

exists from the type of the argument to the type of the corresponding

parameter, or

for a ref or out parameter, the type of the argument is identical to the

type of the corresponding parameter.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航