大佬教程收集整理的这篇文章主要介绍了c – 为什么gcc警告只为统一初始化缩小转换?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
uniform initialization
的int类型变量,没有它.但是我只能通过统一初始化获得编译器警告.这是为什么?为什么gcc不警告两种情况?我也尝试过clang并得到了类似的结果.
这是代码
#include <iostream> int main() { long l = 1; int i1 = l; int i2 = { l }; std::cout << i1 << std::endl; std::cout << i2 << std::endl; return 0; }
我得到的唯一@L_675_2@警告
$g++ -Wall -Wextra 1.cpp 1.cpp: In function ‘int main()’: 1.cpp:6:16: warning: narrowing conversion of ‘l’ from ‘long int’ to ‘int’ inside { } [-Wnarrowing] int i2 = { l };
以上是大佬教程为你收集整理的c – 为什么gcc警告只为统一初始化缩小转换?全部内容,希望文章能够帮你解决c – 为什么gcc警告只为统一初始化缩小转换?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。