Narrowing conversions in C++0x. Is it just me, or does this sound like a breaking change?
C++0x is going to make the following code and similar code ill-formed, because it requires a so-called narrowing conversion of a double to a int . int a[] = { 1.0 }; I'm wondering whether this kind of initialization is used much in real world code. How many code will be broken by this change? Is it much effort to fix this in your code, if your code is affected at all? For reference, see 8.5.4/6 of n3225 A narrowing conversion is an implicit conversion from a floating-point type to an integer type, or from long double to double or float, or from double to float, except where the source is a