long long 型を引数として関数に渡そうとしましたが、失敗しました。次のように、long long 変数に 5000000000 を割り当てることができます。
long long value = 5000000000;
しかし、その変数をメソッドに渡そうとすると:
- (void)viewDidLoad
{
[super viewDidLoad];
long long value = 5000000000;
[self test:value];
}
-(void) test:(long long)value
{
printf("%d\n", value);
}
値は 5000000000 ではなく 705032704 として出力されます。デバッガーでこれを確認しました。705032704 の値は一定であるため、何らかの切り捨てが発生しているように見えます。
私はこれで髪を引っ張り始めようとしています。誰でも助けることができますか?
ありがとう、アラン