我正在编译我的第一个启用 64 位支持的项目。我遇到了一堆关于将隐式转换为浮点数的编译器警告。发生这种情况是因为我正在使用 fabsf() 并将结果分配给 CGFloat (这是一个双精度,而不是在新的 64 位架构上浮动)。
根据这个问题的答案:
我只需要#include <tgmath.h>
解决这个问题并可能更改fabsf
为fabs
. 我至少有一个文件似乎没有帮助。我仍然收到警告:implicit conversion loses floating-point precision 'double' to 'CGFloat' aka (float).
这是生成该警告的行:
CGFloat deltaX = fabs(item.center.x-point.x);
有没有其他人遇到过这个?你是怎么解决的?我宁愿不禁用这个警告,也不想用大量的类型转换乱扔我的代码。