之前已经问过这个问题,但是没有一个解决方案似乎适用于我的代码.这是我的主要文件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'在参数列表警告中声明:它的范围只是这个定义或声明,这可能不是你的想
什么意思'在参数列表中声明'?它所引用的参数列表是什么?
您message_t
在三个地方定义,只应在message.h中定义它.另外,message.c应该包含message.h.