[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