在计算着色器模型5中,我有一个双精度浮点值的计算结果。我必须将值赋给一个整型变量,然后我会得到警告:
warning X3205: 'round': conversion from larger type to smaller, possible loss of data我理解这个警告,但在我的例子中,在运行时浮点值永远不会超过整数可接受的值。代码会产生预期的结果,所以我想关闭对特定违规行的警告。
我不知道如何关闭特定的警告,我喜欢编写不产生任何警告的代码,或者如果产生了警告,则检查它们是否为错误警报。
感谢您的帮助。
发布于 2019-09-24 02:08:46
您没有提供您的代码,我认为它的形式是:
double doubleValue = 1.0;
int integer = round(doubleValue);如果您希望禁止显示警告,并且确定正在处理的数据不会产生有趣的结果,则可以在将double传递给round()之前将其强制转换为float。
double doubleValue = 1.0;
int integer = round((float)doubleValue);此表单不会触发警告。
https://stackoverflow.com/questions/58007828
复制相似问题