cannot convert parameter 5 from 'char [64]' to 'unsigned char *解决办法

signed char *',为什么?

HGLOBAL          hMem ;          // 缓存区句柄(从位图对象转到内存)
BYTE             *hp;            // 字节指针byte pointer

hp = hMem ;

VC编译时提示:
e:/编程/编程工作区/vc++/截屏/catscreen/capandsave.h(123) : error C2440: '=' : cannot convert from 'void *' to 'unsigned char *'
        Conversion from 'void*' to pointer to non-'void' requires an explicit cast

但如果是.C文件则没有关系,能顺利通过,如果是.cpp文件则出现上述错误...

【steedhorse】:
C中对指针类型转换的检查没有C++那么严格。

你一定要这样做的话,可以的C++中采用强制转换。

【zzwh_0】:
强制类型转换

【huashizhixin】:
(unsigned char *)加前面就可以了

【akirya】:
强制转换,因为语法检查严格了许多

【MOOD】:
上面改成:
hp = (unsigned char *)hMem ;就不报错了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值