Visual Studio警告C4334分配但未初始化 [英] Visual Studio warning C4334 on assignment but not on initialization

查看:163
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆