When
g is not volatile-qualified, invocation of
g(u1, u2, …, uM)
is expression-equivalent (
[defns.expression-equivalent]) to
INVOKE(static_cast<Vfd>(vfd),
static_cast<V1>(v1), static_cast<V2>(v2), …, static_cast<VN>(vN))
for the first overload, and
INVOKE<R>(static_cast<Vfd>(vfd),
static_cast<V1>(v1), static_cast<V2>(v2), …, static_cast<VN>(vN))
for the second overload,
where the values and types of the target argument
vfd and
of the bound arguments
v1,
v2,
…,
vN are determined as specified below
.