将代码从xc32 gcc移植到标准gcc时出现类型分配警告

将代码从xc32 gcc移植到标准gcc时出现类型分配警告,c,gcc,compiler-warnings,C,Gcc,Compiler Warnings,在使用gcc编译器时,我是一个赋值警告 warning: assignment makes pointer from integer without a cast [enabled by default] 功能非常简单 char* pShortToBuffer_Parse( char* DisBuff, short value ) { *DisBuff++ = (char) (value >> 8); *DisBuff++ = (char) value;

在使用gcc编译器时,我是一个赋值警告

warning: assignment makes pointer from integer without a cast [enabled by default]
功能非常简单

char* pShortToBuffer_Parse( char* DisBuff, short value )
{   
    *DisBuff++ = (char) (value >> 8);
    *DisBuff++ = (char) value;  
   return DisBuff;
}
我会像下面这样校准它

short PacketSize = 0;char* PbufDst;    
PbufDst = pShortToBuffer_Parse( PbufDst, PacketSize);
当我不返回PbufDst的地址时,警告就会消失

pShortToBuffer_Parse( PbufDst, PacketSize);
我不确定我在这里遗漏了什么,我在另一个使用微芯片xc32 gcc编译器的projet中使用了同样的代码,没有问题也没有警告


伙计们,有什么想法吗?

编译器试图翻译的那一刻

PbufDst = pShortToBuffer_Parse( PbufDst, PacketSize);
它似乎还不知道
pShortToBuffer\u Parse()
。在这种情况下,C标准定义假定
int
为返回值,导致尝试将此
int
分配给
PbufDst
,这是一个
char*


若要解决此问题,请将
pShortToBuffer\u Parse()
的声明或定义放在前面。

听起来像
pShortToBuffer\u Parse
的声明在您调用它的位置不在范围内(可能尝试
gcc-Wimplicit
进行确认?)。很难说清楚,因为你的问题没有包含答案。非常正确。非常感谢。