【发布时间】:2014-03-08 08:56:27
【问题描述】:
我正在编译我的第一个启用 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);
有没有其他人遇到过这个?你是怎么解决的?我宁愿不禁用这个警告,也不想用大量的类型转换乱扔我的代码。
【问题讨论】: