2017-10-03 5 views

答えて

1

これはC++標準ライブラリの問題のように見えます。 Cでは、div()という関数があり、それはdiv_tを返します。 C++では、div()という複数のオーバーロードがあり、異なる引数型をとり、異なる戻り値の型を返します。 [comps hour]NSIntegerを返しますが、12intであるため、あなたのコールはあいまいです。使用するオーバーロードを把握することはできません。

これを修正するには2つの合理的な方法があります。最初はintにキャストすることです:

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

秒が明確longバージョンを使用することです:

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

をそれが正常に動作ありがとう – NemSothea

関連する問題