我收到編譯錯誤的項目代碼,其中的情況如下:如何轉換爲32位整數爲64位值在C
typedef unsigned int U32bit;
typedef unsigned long long U64bit;
U32bit var;
U64bit var2;
var = function(); /* Function returns a 32-bit value, which is stored in var */
var2 = 100*var1; /* 100*var1 is very Big & can be stored only in U64bit variable */
For the Above Line: var2 = 100*var1
我正在在Solaris下編譯錯誤:
"conversion to non-scalar type requested"
我也曾嘗試類型轉換:
var2 = (U64bit) 100*var1;
這也給出了同樣的錯誤。
什麼是'var1'你只聲明'var',不是? –
U32bit =無符號32位整數 –
U64bit =無符號64位整數 –