簡體   English   中英

隱式轉換:uint32到int

[英]Implicit conversion: uint32 to int

我正在努力開發與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'const)到'int'的錯誤。 我是iOS開發的新手,所以這可能是我遺漏的簡單方法。 有小費嗎?

將所有值都轉換為(int),而不僅僅是比較。

register int k = ( (int)N > (int)seedLength ? (int)N : (int)seedLength);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM