Этот код
int main() {
double d = 3.14;
float f = d;
}
генерирует предупреждение с помощью Vision C++ 2015 express:
warning C4244: 'initializing': conversion from 'double' to 'float', possible loss of data
Я бы также хотел увидеть подобное предупреждение при компиляции с помощью Clang (или GCC). Есть ли для этого опция командной строки? -Wconversion
тут не поможет.
-Wnarrowing
помогает? - person Richard Critten   schedule 19.07.2016-Wconversion
вызвать предупреждение в gcc 4.4+ и clang 3+. - person Holt   schedule 19.07.2016-Wconversion
, но на самом деле это было не так.-Wconversion
действительно помогает. - person Tobias Hermann   schedule 19.07.2016float f{d};
, так как{}
препятствует сужению. - person Holt   schedule 19.07.2016