error C2664: 'Template' : cannot convert parameter 1 from 'char *' to 'unsigned char *'

error C2664: 'Template' : cannot convert parameter 1 from 'char *' to 'unsigned char *'

请问是下面这段的问题吗?
// 调用Template()函数
if (!Template(lpNewDIBBits1, lWidth, lHeight,
iTempH, iTempW, iTempMX, iTempMY, aTemplate, fTempC))
{
return FALSE;
}

求解答!

/*
ASIC字符包含三种 char(字符)
unsigned char(无符号字符)
signed char(带符号字符)
char 归属于unsigned char还是signed char 要看编译器了。
根据报错信息 char 会归属 signed char
signed char 范围 -128~+127
unsigned char 范围 0~255
Template的形参是 unsigned char *
给Template 出入的实参 char *
这样编译器就报错了 。
*/
// 调用Template()函数
if (!Template(lpNewDIBBits1, lWidth, lHeight,
iTempH, iTempW, iTempMX, iTempMY, aTemplate, fTempC))
{
return FALSE;
}
// lpNewDIBBits1 试着强制转化一下。
if (!Template(static_cast<unsiged char*>lpNewDIBBits1, lWidth, lHeight, iTempH, iTempW, iTempMX, iTempMY, aTemplate, fTempC))
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-14
from 'char *' to 'unsigned char *'
类型不匹配
你的参数类型是unsigned char *,但是你传了个char *'类型的
第2个回答  2013-04-14
你把lpNewDIBBits1定义成char *吧

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网