【发布时间】:2016-09-13 06:15:48
【问题描述】:
int a = 0; short b{a}; short c{0};
编译器对short b{a} 发出警告。我可以理解这一点,因为int 被缩小为short。
但是,它没有向short c{0} 发出警告,这对我来说很奇怪。我记得对于文字整数,0 的类型至少应该是int。所以从int 缩小到short 正在这里发生。为什么编译器不给出警告?
【问题讨论】:
标签: c++ initialization language-lawyer list-initialization narrowing