我正在努力让应用与iPhone 6兼容,而且大多数都遇到了需要解决的类型转换问题。但无论我如何构建这个,我都无法成功完成构建。
inline void MTRand::seed( uint32 *const bigSeed, const uint32 seedLength ){
// N is set to 628 up above
register uint32 j = 0;
register int k = (N > seedLength ? N : seedLength); // build fail on this line
// do more stuff
我想把它换成
register int k = (N > seedLength ? (int)N : (int)seedLength);
可行,但我仍然得到 '隐式转换失去整数精度:' const uint32' (又名' const unsigned long')到' int' 错误。我对iOS开发很陌生,所以这可能是我想念的简单内容。有什么提示吗?
答案 0 :(得分:0)
将所有值转换为(int),而不仅仅是比较。
register int k = ( (int)N > (int)seedLength ? (int)N : (int)seedLength);