如何修复对 'div' 的调用与 Xcode 9 最终版本不明确
How to fixed Call to 'div' is ambiguous with Xcode 9 final release
你有什么想法吗?求助,谢谢。
div_t divHour = div([comps hour], 12);
return divHour.rem;
并告诉我上面的错误..
这似乎是 C++ 标准库的问题。在 C 中,有一个函数 div()
return 是 div_t
。在 C++ 中,div()
的多个重载采用不同的参数类型和 return 不同的 return 类型。而且您的调用不明确,因为 [comps hour]
return 是 NSInteger
,但您的 12
是 int
,因此无法确定要使用哪个重载.
有两种合理的方法可以解决这个问题。第一个是转换为 int
:
div_t divHour = div((int)[comps hour], 12);
第二种是明确使用long
版本:
ldiv_t divHour = div([comps hour], 12l);
你有什么想法吗?求助,谢谢。
div_t divHour = div([comps hour], 12);
return divHour.rem;
并告诉我上面的错误..
这似乎是 C++ 标准库的问题。在 C 中,有一个函数 div()
return 是 div_t
。在 C++ 中,div()
的多个重载采用不同的参数类型和 return 不同的 return 类型。而且您的调用不明确,因为 [comps hour]
return 是 NSInteger
,但您的 12
是 int
,因此无法确定要使用哪个重载.
有两种合理的方法可以解决这个问题。第一个是转换为 int
:
div_t divHour = div((int)[comps hour], 12);
第二种是明确使用long
版本:
ldiv_t divHour = div([comps hour], 12l);