不会写代码的鹅崽 2023-02-14 22:39 采纳率: 100%
浏览 70
已结题

linux开发error: invalid conversion from ‘long unsigned int’ to ‘void*’

linux系统编译
error: invalid conversion from ‘long unsigned int’ to ‘void*’
报错是什么意思怎么解决

img

  • 写回答

3条回答 默认 最新

  • wkd_007 2024博客之星 TOP 24 2023-02-15 09:12
    关注

    read函数的原型如下:

    #include <unistd.h>
    ssize_t read(int fd, void *buf, size_t count);
    

    这个报错的意思是,你将一个unsigned long结构转换成 void*时,转换失败了。
    结合你的图片来看,是**read(fd[1],sizeof(c))这句使用错了,应该改为read(fd[1],&c,sizeof(c))**。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月26日
  • 已采纳回答 2月18日
  • 创建了问题 2月14日