预期声明说明符或“...”在“文件”之前

发布于 2024-11-09 23:15:12 字数 233 浏览 3 评论 0原文

我正在用 c 编写代码。
我在主函数 (main.c) 中声明一个 FILE* fp。
我们的项目中还有其他文件。
所以在头文件中我收到此错误:
“‘FILE’问题之前的预期声明说明符或‘...’”
在这一行:
void myfunct(argumenttype argument, FILE *fp);

我做错了什么?

在Linux(gedit+gcc)中工作。

I am writing code in c.
I am declaring a FILE* fp at the main function (main.c).
We have other files at the project too.
So at a header file I am getting this error:
"expected declaration specifiers or ‘...’ before ‘FILE’ problem"
at this line:
void myfunct(argumenttype argument, FILE *fp);

What am I doing wrong?

Working in Linux(gedit+gcc).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

听你说爱我 2024-11-16 23:15:12

在使用 typedef 元素之前必须包含标头,否则 FILE 对编译器没有任何意义,并且它不知道它在查看什么。

You must include the header before you use the typedef'd element, otherwise FILE means nothing to the compiler, and it doesn't know what it is looking at.

满地尘埃落定 2024-11-16 23:15:12

argumenttype 是指向结构的指针的 typedef 类型。

typedef struct testStruct testptr;
void myfunct(testptr test, FILE *fp);

我刚刚在此头文件中包含了 stdio.h。
而且效果很好。
因此,无论我在哪里使用依赖于库的函数或类型定义的类型,我都必须包含相关的库吗?

非常感谢!

argumenttype is a typedef'ed type of pointer to a struct.

typedef struct testStruct testptr;
void myfunct(testptr test, FILE *fp);

I have just included stdio.h at this header file.
And it worked fine.
So everywhere I use library dependant functions or typedef'ed types I must include the relevant library?

Thank you very much!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文