如下代码:
HTREEITEM hd = NULL;
UINT ud;
ud = (UINT32)hd;
在VS 2002中居然出现警告:warning C4311: “类型转换” : 从“HTREEITEM”到“UINT”的指针截断
然后我做了一些尝试,把UINT分别改为:UINT8,UINT16,UINT32,UINT64.
结果,仅仅只有UINT32时,出现指针截断警告。
我去GOOGLE搜索了一下,有人说,64位指针转为32位指针时,会出现指针截断。可是,这里HTREEITEM唯独转为UINT32时出现警告,何解?
莫非这事VS 2002本身的BUG?我在VC 6和VC 2008上没看到这种情况啊。