-2
的情況下離奇結果我使用__int64
數據類型在64位AIX和我正在比較的情況下,奇異結果與064位整數中的比較
代碼段:
__int64 indexExistingPart = GetValue(); // GetValue always returns -1.
if (indexExistingPart < 0)
{
DoSomething(); //control never comes to this part of the code
}
我也嘗試將0賦值給另一個__int64
變量並用於比較。但是,這也不起作用:
__int64 indexExistingPart = GetValue(); // GetValue always returns -1.
__int64 temp =0;
if (indexExistingPart < temp)
{
DoSomething(); //control never comes to this part of the code
}
爲什麼比較運算符不適用於64位整數?有什麼解決方法嗎?
'__int64'不是標準的類型 - 它是如何定義,其中和?另外,GetValue()的返回類型是什麼? – 2012-07-31 10:00:23
你確定__int64沒有簽名嗎? – 2012-07-31 10:03:30
@Paul:GetValue()的返回類型很長。當我在AIX上使用__int64時,我沒有收到任何編譯錯誤。 – user1565291 2012-07-31 11:33:46