为什么"possible lack of precision"不是编译器错误?

Why is "possible lack of precision" not a compiler error?

本文关键字:编译器 错误 precision possible lack of 为什么      更新时间:2023-10-16

我在评论为什么我应该始终启用编译器警告?并指出

在嵌入式世界中,我最担心的警告是"possible loss of precision"和"comparison between signed and unsigned"警告。

我发现很难理解有多少"程序员"忽略了这些(事实上,我不太确定为什么它们不是错误(

谁能解释为什么试图将可能的夸脱放入经过认证的品脱罐中不被视为错误?肯定只是一场等待发生的灾难吗?

消息显示"可能"。只有程序员才能知道这是否是一个真正的问题;编译器无法猜测。

"这肯定只是一场等待发生的灾难吗?"这是夸大其词。一些精度的损失可能是无害的。我宁愿害怕过度/不足。通常你知道你在用你的数据类型做什么,编译器警告听起来更像是一个善意的提醒。