tmp/tmp1aqay3qu/{from.md → to.md}
RENAMED
|
@@ -1,14 +1,14 @@
|
|
| 1 |
#### Initialization by conversion function <a id="over.match.conv">[[over.match.conv]]</a>
|
| 2 |
|
| 3 |
Under the conditions specified in [[dcl.init]], as part of an
|
| 4 |
-
initialization of an object of
|
| 5 |
be invoked to convert an initializer expression of class type to the
|
| 6 |
type of the object being initialized. Overload resolution is used to
|
| 7 |
select the conversion function to be invoked. Assuming that “*cv1* `T`”
|
| 8 |
-
is the type of the object being initialized, and “
|
| 9 |
-
|
| 10 |
functions are selected as follows:
|
| 11 |
|
| 12 |
- The conversion functions of `S` and its base classes are considered.
|
| 13 |
Those non-explicit conversion functions that are not hidden within `S`
|
| 14 |
and yield type `T` or a type that can be converted to type `T` via a
|
|
@@ -23,8 +23,9 @@ functions are selected as follows:
|
|
| 23 |
return lvalues or xvalues, depending on the type of reference, of type
|
| 24 |
“*cv2* `X`” and are therefore considered to yield `X` for this process
|
| 25 |
of selecting candidate functions.
|
| 26 |
|
| 27 |
The argument list has one argument, which is the initializer expression.
|
| 28 |
-
|
| 29 |
-
the
|
|
|
|
| 30 |
|
|
|
|
| 1 |
#### Initialization by conversion function <a id="over.match.conv">[[over.match.conv]]</a>
|
| 2 |
|
| 3 |
Under the conditions specified in [[dcl.init]], as part of an
|
| 4 |
+
initialization of an object of non-class type, a conversion function can
|
| 5 |
be invoked to convert an initializer expression of class type to the
|
| 6 |
type of the object being initialized. Overload resolution is used to
|
| 7 |
select the conversion function to be invoked. Assuming that “*cv1* `T`”
|
| 8 |
+
is the type of the object being initialized, and “cv `S`” is the type of
|
| 9 |
+
the initializer expression, with `S` a class type, the candidate
|
| 10 |
functions are selected as follows:
|
| 11 |
|
| 12 |
- The conversion functions of `S` and its base classes are considered.
|
| 13 |
Those non-explicit conversion functions that are not hidden within `S`
|
| 14 |
and yield type `T` or a type that can be converted to type `T` via a
|
|
|
|
| 23 |
return lvalues or xvalues, depending on the type of reference, of type
|
| 24 |
“*cv2* `X`” and are therefore considered to yield `X` for this process
|
| 25 |
of selecting candidate functions.
|
| 26 |
|
| 27 |
The argument list has one argument, which is the initializer expression.
|
| 28 |
+
|
| 29 |
+
[*Note 1*: This argument will be compared against the implicit object
|
| 30 |
+
parameter of the conversion functions. — *end note*]
|
| 31 |
|