[class.expl.init] (original) (raw)
:
complex v[6] = { 1, complex(1,2), complex(), 2 };
Here,complex::complex(double)is called for the initialization ofv[0]andv[3],complex::complex(double, double)is called for the initialization ofv[1],complex::complex()is called for the initializationv[2],v[4], andv[5].
For another example,
struct X { int i; float f; complex c; } x = { 99, 88.8, 77.7 };
Here,x.iis initialized with 99,x.fis initialized with 88.8, andcomplex::complex(double)is called for the initialization ofx.c.
— end example