A user-defined conversion sequence consists of an initial
standard conversion sequence followed by a user-defined
conversion (
[class.conv]) followed by a second standard
conversion sequence
. If the user-defined conversion is specified
by a constructor (
[class.conv.ctor]), the initial standard
conversion sequence converts the source type to the type required
by the argument of the constructor
. If the user-defined
conversion is specified by a conversion function (
[class.conv.fct]), the
initial standard conversion sequence
converts the source type to the implicit object parameter of the
conversion function
.