您有什么想法吗?请帮助,谢谢。
div_t divHour = div([comps hour], 12);
return divHour.rem;
并向我展示上面的错误..
这似乎是C 标准库的问题。在C中,有一个函数div()
返回div_t
。在C 中,有多个div()
的多个过载,它们采用不同的参数类型并返回不同的返回类型。您的电话是模棱两可的,因为[comps hour]
返回NSInteger
,但是您的12
是int
,因此无法弄清楚要使用哪种过载。
有两种合理的方法来解决此问题。首先是铸造到int
:
div_t divHour = div((int)[comps hour], 12);
第二个是明确使用long
版本:
ldiv_t divHour = div([comps hour], 12l);