当前位置:  开发笔记 > 编程语言 > 正文

c编译器警告:在参数列表中声明'struct x'

如何解决《c编译器警告:在参数列表中声明'structx'》经验,为你挑选了1个好方法。

之前已经问过这个问题,但是没有一个解决方案似乎适用于我的代码.这是我的主要文件server.c:

#include 
#include 
#include "message.h"

int main(int argc, char *argv[]) {
    // do stuff
    return 0;
}

这是我的包含文件message.c:

#include 
#include 

struct message_t {
    int field1;
    int field2;
};

int sendMessage(struct message_t *message) {
    // do stuff
    return 0;
}

我还有一个头文件message.h:

#include 
#include 

struct message_t {
    int field1;
    int field2;
};

int sendMessage(struct message_t *message);

当我编译server.c和message.c时,我message.c在我声明的行中得到这个警告sendMessage:警告:'struct message_t'在参数列表警告中声明:它的范围只是这个定义或声明,这可能不是你的想

什么意思'在参数列表中声明'?它所引用的参数列表是什么?



1> 小智..:

message_t在三个地方定义,只应在message.h中定义它.另外,message.c应该包含message.h.

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有