error C2040: “b”: “BYTE *”与“int”的间接寻址级别不同解决办法

error C2040: “b”: “BYTE *”与“int”的间接寻址级别不同C/C++ codeCFile fileCString strvalue,strchar c

error C2040: “b”: “BYTE *”与“int”的间接寻址级别不同

C/C++ code
CFile file;    CString strvalue,str;    char ctemp[260];    file.Open(FileName,CFile::modeRead);    BYTE* buf;    BYTE *b = new BYTE[260];    buf = new BYTE[260];    file.Read(buf,260);    for(int i=0;i<260;i++)    {                   b[i] = 256 - buf[i];    }    file.Close();    file.Open(FileName,CFile::modeWrite);    file.Write(b,260);    file.Close();


C++在VS2008编译错误:
error C2040: “b”: “BYTE *”与“int”的间接寻址级别不同

怎么回事?

[解决办法]
b[i] = 256 - buf[i];//需要进行强制类型转换下的。转换成(int)或者(unsigned int)等