我有以下问题:价值转换问题
implicit conversion loses integer precision 'unsigned long' to 'int'
以下代码
int arraySize = (bits + bitsPerWord_ - 1) >> logBits_;
我应该怎么做来解决它,它只是在Xcode开始5.1
我有以下问题:价值转换问题
implicit conversion loses integer precision 'unsigned long' to 'int'
以下代码
int arraySize = (bits + bitsPerWord_ - 1) >> logBits_;
我应该怎么做来解决它,它只是在Xcode开始5.1
之一你的变量是unsigned long
(例如NSUInteger)。如果可能,我建议使用NSInteger
。其他解决方案是将有问题的变量转换为NSInteger
。
NSInteger arraySize = ((NSInteger)bits + (NSInteger)bitsPerWord_ - 1) >> logBits_;
至于你得到的错误,你可能有编译器设置来将这种警告当作错误处理。
只是编译工程,但当我存档时,我得到这个错误。试过一切都不会消失。 – user3130086
每个变量的类型(bits,bitsPerWord_,logBits_)是什么? – mkko
这是一个隐藏的编译器问题。谢谢 – user3130086
问题一直存在,只是Xcode 5.1中的默认警告是打开的。 –
这是一个不警告的错误。 – user3130086