2010-12-09 117 views

回答

3

fabs()返回double(64位),但CGFloat被定义为一个float(32位)。它通常是无害的 - 我个人甚至会禁用编译器警告,因为使用double值执行计算通常是至少与使用float值一样快。

+0

“使用双值执行计算通常至少与使用浮点值一样快。”你确定在ARM上? – 2010-12-09 15:42:58

2

更好的答案是使用#include <tgmath.h>。该标题定义了“自适应”函数,可以根据参数大小调用正确的函数。

包含该头文件后,您可以简单地调用fabs而不会收到该警告(也不用担心由于使用错误的函数而导致精度损失)。