What about this code ?
int i = 7.2; int j{7.2}; int k(7.2);
Can compile without any issue
Cannot compile, error at first line
Cannot compile, error at second line
Cannot compile, error at third line
This is a specific aspect of the bracket initialization : it does not authorize casting into the correct type if possible, while this the parenthesis initialization on the third line allows it.