在代码中,我在编译时收到此警告。 我试图解决这个问题,但我无法解决这个问题。
static uint8_t tx_data;
int *recvdata2,*recvdata;
recvdata= str2int(tx_data); //warning assignment from incompatible pointer type
recvdata2=(uint8_t*)&recvdata
str2int是将字符串转换为整数的函数。
int str2int(char *str)
{
int res=0;
int i;
for ( i = 0; str[i] != '\0'; ++i)
res=(res)*10+str[i]-'0';
return res;
}
我对此很菜鸟。请帮我解决这个问题。 任何帮助将不胜感激。
最佳答案
当前您正在尝试将 int
分配给 int *
您会看到 recvdata
是指向 int
的指针。
修改如下。
int *recvdata2, recvdata;
recvdata = str2int(tx_data);
recvdata2 = &recvdata
关于c - 分配给另一个参数时警告分配不兼容的指针类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53810788/