我有以下问题:
implicit conversion loses integer precision 'unsigned long' to 'int'
以下代码
int arraySize = (bits + bitsPerWord_ - 1) >> logBits_;
我该怎么做才能修复它,它只在xcode 5.1中开始
答案 0 :(得分:0)
您的一个变量是unsigned long
(例如NSUInteger)。如果可能的话,我建议改用NSInteger
。其他解决方案是将有问题的变量转换为NSInteger
。
NSInteger arraySize = ((NSInteger)bits + (NSInteger)bitsPerWord_ - 1) >> logBits_;
至于你得到的错误,你可能有编译器设置将这种警告视为错误。