繁体   English   中英

如何部分禁用C4244

[英]How can I partially disable C4244

在Visual C ++ 2012中的代码

double d = 0.5;
float f = d;
int i = f;

向我发出2个警告:

test.cpp(26): warning C4244: 'initializing' : conversion from 'double' to 'float', possible loss of data
test.cpp(27): warning C4244: 'initializing' : conversion from 'float' to 'int', possible loss of data

我想压制我认为垃圾邮件的第一个警告,但保留第二个警告我认为非常有帮助。 有可能压制一个并保持另一个吗? 人们通常只是压制他们吗? 我们有一个错误的错误,我们错误地将双重传递给浮动。 但是我们的数学代码会触发double-> float警告。

请勿禁止旨在防止潜在错误的警告。 通过强制转换告诉编译器您知道自己在做什么:

double d = 0.5;
float f = static_cast<float>(d);
int i = static_cast<int>(f);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM