static_assert(sizeof(unsigned) == 4, ":(");
static_assert(sizeof(double) == 8 ,":(");
unsigned u{42};
double x{u};
g++ 4.7.1 жалуется на этот код:
warning: narrowing conversion of 'u' from 'unsigned int' to 'double' inside { }
Почему это сужение? Разве не все unsigned
прекрасно представлены как double
?