Those non-explicit conversion functions that are not hidden within
S
and yield type “lvalue reference to
cv2 T2”
(when initializing an lvalue reference or an rvalue reference to function) or
“
cv2 T2”
or “rvalue reference to
cv2 T2” (when initializing an
rvalue reference or an lvalue reference to function),
where “
cv1 T” is
reference-compatible
with “
cv2 T2”,
are candidate functions
. For direct-initialization, those explicit
conversion functions that are not hidden within
S and yield
type “lvalue reference to
cv2 T2”
(when initializing an lvalue reference or an rvalue reference to function)
or “rvalue reference to
cv2 T2”
(when initializing an rvalue reference or an lvalue reference to function),
where
T2 is the same type as
T or can be
converted to type
T with a
qualification
conversion, are also candidate functions
.