tmp/tmpcydaqxho/{from.md → to.md}
RENAMED
|
@@ -2,29 +2,21 @@
|
|
| 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 “
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
functions are selected as follows:
|
| 11 |
|
| 12 |
-
- The
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
converted to type `T` with a qualification conversion [[conv.qual]]
|
| 19 |
-
are also candidate functions. Conversion functions that return a
|
| 20 |
-
cv-qualified type are considered to yield the cv-unqualified version
|
| 21 |
-
of that type for this process of selecting candidate functions. A call
|
| 22 |
-
to a conversion function returning “reference to `X`” is a glvalue of
|
| 23 |
-
type `X`, and such a conversion function is therefore considered to
|
| 24 |
-
yield `X` for this process of selecting candidate functions.
|
| 25 |
|
| 26 |
The argument list has one argument, which is the initializer expression.
|
| 27 |
|
| 28 |
-
[*Note 1*: This argument will be compared against the
|
| 29 |
-
|
| 30 |
|
|
|
|
| 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 “cv `T`” is
|
| 8 |
+
the type of the object being initialized, the candidate functions are
|
| 9 |
+
selected as follows:
|
|
|
|
| 10 |
|
| 11 |
+
- The permissible types for non-explicit conversion functions are those
|
| 12 |
+
that can be converted to type `T` via a standard conversion sequence
|
| 13 |
+
[[over.ics.scs]]. For direct-initialization, the permissible types for
|
| 14 |
+
explicit conversion functions are those that can be converted to type
|
| 15 |
+
`T` with a (possibly trivial) qualification conversion [[conv.qual]];
|
| 16 |
+
otherwise there are none.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
|
| 18 |
The argument list has one argument, which is the initializer expression.
|
| 19 |
|
| 20 |
+
[*Note 1*: This argument will be compared against the object parameter
|
| 21 |
+
of the conversion functions. — *end note*]
|
| 22 |
|