For direct-initialization or default-initialization
that is not in the context of copy-initialization, the
candidate functions are
all the constructors of the class of the object being
initialized
. For copy-initialization (including default initialization
in the context of copy-initialization), the candidate functions are all
the converting constructors (
[class.conv.ctor]) of that
class
.