Visual Studio警告C4334分配但未初始化 [英] Visual Studio warning C4334 on assignment but not on initialization
本文介绍了Visual Studio警告C4334分配但未初始化的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
为什么我对此代码有警告:
Why i got warning on this code:
#include <cstdint>
int main()
{
int i = 1;
int64_t i64;
i64 = 1 << i;
}
警告C4334:'<<' :将32位移位的结果隐式转换为64位(是否打算进行64位移位?)
warning C4334: '<<' : result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)
,但不是这样:
#include <cstdint>
int main()
{
int i = 1;
int64_t i64 = 1 << i;
}
?
在vs2013 / 2015上进行了测试。
? Tested on vs2013/2015.
推荐答案
MSVS 2015 Upd.2:第二种情况(在初始化时)将触发C4334警告。
MSVS 2015 Upd.2: Second case (on initialization) will trigger C4334 warning.
这篇关于Visual Studio警告C4334分配但未初始化的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文