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
か?