在计算着色器模型 5 中,我得到了双精度浮点值的一些计算结果。我必须将值分配给一个整数变量,并收到警告:
warning X3205: 'round': conversion from larger type to smaller, possible loss of data
我理解警告,但就我而言,在运行时,浮点值永远不会超过整数可接受的值。代码产生预期的结果,因此我想关闭特定违规行的警告。
我找不到如何关闭特定警告,我喜欢编写不产生任何警告的代码,或者如果是,则检查它们是否是误报。
任何帮助表示赞赏。
你没有提供你的代码,我想它是以下形式的
:double doubleValue = 1.0;
int integer = round(doubleValue);
如果要禁止显示警告,并且确定正在处理的数据不会产生有趣的结果,则可以在将double
传递给round()
之前将其转换为float
。
double doubleValue = 1.0;
int integer = round((float)doubleValue);
此表单不会触发警告。