[英]How to disable Visual Studio warning C4244 for std::vector copy or assign with implicit narrowing conversion
[英]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.