14.4.2.1 Applicable function member

本文详细阐述了在编程中函数成员对于不同参数列表的适用性准则。包括如何判断函数成员是否适用于特定参数列表,以及当函数包含参数数组时,如何在正常形式与扩展形式下进行适用性判断。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值