如何修复 Xcode 9 最终版本中对'div'的调用模棱两可的问题



您有什么想法吗?请帮助,谢谢。

div_t divHour = div([comps hour],  12); 
return divHour.rem;

并向我展示上面的错误..

这似乎是C 标准库的问题。在C中,有一个函数div()返回div_t。在C 中,有多个div()的多个过载,它们采用不同的参数类型并返回不同的返回类型。您的电话是模棱两可的,因为[comps hour]返回NSInteger,但是您的12int,因此无法弄清楚要使用哪种过载。

有两种合理的方法来解决此问题。首先是铸造到int

div_t divHour = div((int)[comps hour],  12);

第二个是明确使用long版本:

ldiv_t divHour = div([comps hour],  12l);

最新更新