Why doesn’t narrowing conversion used with curly-brace-delimited initializer cause an error?

This is ill-formed and there should be diagnostic, however it can either be a warning(which you received) or an error. gcc made this a warning for several versions due to porting issue from C++03: The standard only requires that “a conforming implementation shall issue at least one diagnostic message” so compiling the program with a … Read more