【发布时间】:2016-11-25 13:10:44
【问题描述】:
为什么编译器(clang,gcc)在执行此操作时不警告缩小转换
float a{3.1231231241234123512354123512341235123541235};
float a = {double(3.1231231241234123512354123512341235123541235)}
我预计会收到警告,因为我使用大括号进行了显式值初始化。 按照这个答案Link 它应该会吐出一个错误。
【问题讨论】:
-
afaik,它不会警告您是否可以在不损失精度的情况下以更窄的类型表示特定的文字值
-
这不能在 VS2015 上编译(错误 2397)
标签: c++ c++11 c++14 list-initialization value-initialization