下面一个函数主要作用是转换为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;// 这一行出现错误提示
}
}

解决方案 »

  1.   

    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;// 这一行出现错误提示
        }
    }
      楼主指针操作不熟悉啊