gpt4 book ai didi

c 编译器警告 : 'struct x' declared inside parameter list

转载 作者:太空宇宙 更新时间:2023-11-04 05:53:17 27 4
gpt4 key购买 nike

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

#include <stdlib.h>
#include <unistd.h>
#include "message.h"

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

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

#include <stdlib.h>
#include <unistd.h>

struct message_t {
int field1;
int field2;
};

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

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

#include <stdlib.h>
#include <unistd.h>

struct message_t {
int field1;
int field2;
};

int sendMessage(struct message_t *message);

当我编译 server.c 和 message.c 时,我在声明 sendMessage 的那一行收到了针对 message.c 的警告: 警告:在参数列表中声明了“struct message_t” 警告:它的范围只是这个定义或声明,这可能不是你想要的

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

最佳答案

您在三个地方定义了 message_t,而您应该只在 message.h 中定义它。此外,message.c 应包含 message.h。

关于c 编译器警告 : 'struct x' declared inside parameter list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34082528/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com