我得到这个错误,当我运行下面的代码,第21行出错无效换算* [fpermissive]用C
错误
出错无效转换从int为const char * [fpermissive]
代码
receive(struct sockaddr_in sockad, struct message m){
int rc;
int i;
int ibuf;
i = sizeof(sockad);
rc = recvfrom(sd,&m,strlen(ibuf),0,(struct sockaddr *)&sockad,(unsigned long)&i); /* line 21*/
if (rc < 0) {
perror("recvfrom"); exit(1);
}
}
我试过SOLU蒸发散,在计算器,但没有运气
这个片段有几个错误,但没有看到_complete program_我们不能告诉你如何解决它。 (例如,我强烈怀疑'receive'的原型是错误的,所以我需要看到调用者。) – zwol
您正在通过'ibuf',一个'int'来函数'strlen()',它的参数成为一个char *',指向以空字符结尾的字符数组。由于'ibuf'甚至没有初始化,所以这不可能是你真正想要做的。 –
另外:'int i;' - >'socklen_t i;' – chux