当前位置:  技术问答>linux和unix

【error: dereferencing pointer to incomplete type】学unix网络编程,有疑问~~

    来源: 互联网  发布时间:2017-03-12

    本文导语:  #include         #include         #include         #include         #include         #include         #include         #include         #include         #define SVMSG_MODE 420 void err_quit(const char *s) {       ...

#include        
#include        
#include        
#include        
#include        
#include        
#include        
#include        
#include        

#define SVMSG_MODE 420

void
err_quit(const char *s)
{
        printf("%sn", s);
        exit(1);
}

int
main(int argc, char **argv)
{
        int             mqid;
        size_t  len;
        long    type;
        struct msgbuf   *ptr;

        if (argc != 4)
                err_quit("usage: msgsnd   ");
        len = atoi(argv[2]);
        type = atoi(argv[3]);

        mqid = msgget(ftok(argv[1], 0), 288);

        ptr = calloc(sizeof(long) + len, sizeof(char));
        ptr->mtype = type;

        msgsnd(mqid, ptr, len, 0);

        exit(0);
}

编译后显示:
[red@localhost svmsg]$ gcc -o msgsnd msgsnd_cp.c
msgsnd_cp.c: In function ‘main’:
msgsnd_cp.c:19: error: dereferencing pointer to incomplete type

第19行为:ptr->mtype = type

在网上搜索,似乎是联合体/结构体指针的问题,不值如何解决~~

求指点,谢谢~~

|
StackOverflow是一个好网站,可以参考这篇
不知楼主用的是不是Cygwin,我在Cygwin上也无法编译通过,从提示看,就是找不到msgbuf结构体的定义,所以,在合适位置加入如下定义即可:
struct msgbuf{
long mtype;
char mtext[1];
};

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求教:error: field ‘start’ has incomplete type
  • 求救 gcc 编译 error: ‘<anonymous>’ has incomplete type
  • java命名空间java.lang类error的类成员方法: error定义及介绍
  • php异常:Parse error: syntax error, unexpected eval()'d code error
  • java命名空间java.awt枚举trayicon.messagetype的类成员方法: error定义及介绍
  • runtime error与compile time error的区别?
  • java命名空间javax.tools枚举diagnostic.kind的类成员方法: error定义及介绍
  • Error Mounting /dev/acd0 on /dist: Input/output error(5)
  • java命名空间java.awt类mediatracker的类成员方法: errored定义及介绍
  • tar:error exit delayed from previous errors
  • java命名空间javax.lang.model.type枚举typekind的类成员方法: error定义及介绍
  • PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
  • java命名空间java.net类httpurlconnection的类成员方法: http_internal_error定义及介绍
  • PHP Parse Error: syntax error, unexpected $end 错误解决办法
  • java命名空间javax.xml.bind接口validationevent的类成员方法: error定义及介绍
  • error:syntax error before "va_mode_t"
  • java命名空间javax.swing类joptionpane的类成员方法: error_message定义及介绍
  • php异常parse error: syntax error, unexpected t_var错误怎么解决
  • java命名空间javax.swing类jfilechooser的类成员方法: error_option定义及介绍
  • PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
  • java命名空间java.net类httpurlconnection的类成员方法: http_server_error定义及介绍
  • WEB前端 iis7站长之家
  • java命名空间javax.management.monitor类monitornotification的类成员方法: threshold_error定义及介绍
  • php错误日志处理display_errors与log_errors用法区别


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3