2014-07-12 40 views

回答

4

該文檔QuadPart定義爲LONGLONG。 This將LONGLONG定義爲64bit中的 __int64和32位 中的doubleThisLONGLONG定義爲__int64

如果你編譯32位,那肯定是錯的,因爲size_t是一個無符號的32位整數。如果你編譯爲64位,它的仍然是錯誤,因爲size_t是無符號的 int和LONGLONG是有符號的。

所以它在64位中也是不正確的,因爲LONGLONG是有符號的,size_t是無符號的,正如史蒂夫指出的那樣。

無論如何,您的編譯器應該將其標記爲錯誤。

+0

另外'size_t'是無符號的,而'LONGLONG'是有符號的。 – Steve

+2

該文檔是錯誤的。 LONGLONG在x86上不是64位或32位的「double」。它總是'__int64'。 –

+0

同意..這是doc中的錯誤。討厭所有這些數據類型混亂。所以LARGE_INTEGER是在in64簽名的,size_t是unsigned int64 –

相關問題