请教一个数据类型不兼容的问题,源程序相关的如下:<br />struct FAT32_FAT_Item<br />{<br /> unsigned char Item[4];<br />};<br /><br /><br />struct FAT32_FAT<br />{<br /> struct FAT32_FAT_Item Items[128];<br />};<br /><br /><br />unsigned long lb2bb(unsigned char *dat,unsigned char len) <br />{<br /> unsigned long temp=0;<br /> unsigned long fact=1;<br /> unsigned char i=0;<br /> for(i=0;i<len;i++)<br /> {<br /> temp+=dat*fact;<br /> fact*=256;<br /> }<br /> return temp;<br />}<br /><br /><br /> unsigned long temp;<br /> struct FAT32_FAT *pFAT;<br /> struct FAT32_FAT_Item *pFAT_Item;<br /> temp=((LastCluster/128)+Init_Arg.FirstFATSector); FAT32_ReadSector(temp,FAT32data_buff);<br /> pFAT=(struct FAT32_FAT *)FAT32data_buff;<br /> pFAT_Item=&((pFAT->Items)[LastCluster%128]); <br /> //在算出的扇区中提取簇项<br /> lb2bb(pFAT_Item,4); //返回下一簇号 ***************************这里出现问题<br /><br />编译后出现的错误为:error:<br />"fat32.c", line 225: error: argument of type "struct FAT32_FAT_Item *" is incompatible with parameter of type "unsigned char * "<br /><br />不知道该如何解决这个冲突,敬请大虾指教,谢谢。<br /> |
|