我收到编译错误的项目代码,其中的情况如下:如何转换为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位整数 –