下面一个函数主要作用是转换为BCD码,编译时有错误,提示“error C2440: '=' : cannot convert from 'int' to 'unsigned char *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast”,请帮忙看看如何改,谢谢!代码如下:int ConvertToBCD(char * Digstr,BYTE * BCDData)
{
int Len = strlen(Digstr);
if (Len%2) return -1;
for (int i =0 ;i<Len/2;i++)
{
BYTE Data1 = *(Digstr + 2*i) - 0X30;
BYTE Data2 = *(Digstr + 2*i + 1) - 0X30;
(BCDData + i) = Data1*16 + Data2;// 这一行出现错误提示
}
}
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast”,请帮忙看看如何改,谢谢!代码如下:int ConvertToBCD(char * Digstr,BYTE * BCDData)
{
int Len = strlen(Digstr);
if (Len%2) return -1;
for (int i =0 ;i<Len/2;i++)
{
BYTE Data1 = *(Digstr + 2*i) - 0X30;
BYTE Data2 = *(Digstr + 2*i + 1) - 0X30;
(BCDData + i) = Data1*16 + Data2;// 这一行出现错误提示
}
}
{
int Len = strlen(Digstr);
if (Len%2) return -1;
for (int i =0 ;i<Len/2;i++)
{
BYTE Data1 = *(Digstr + 2*i) - 0X30;
BYTE Data2 = *(Digstr + 2*i + 1) - 0X30;
*(BCDData + i) = Data1*16 + Data2;// 这一行出现错误提示
}
}
楼主指针操作不熟悉啊