【问题标题】:expected declaration specifiers or ‘...’ before ‘FILE’“FILE”之前的预期声明说明符或“...”
【发布时间】:2011-09-04 00:28:36
【问题描述】:

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

我做错了什么?

在 Linux 中工作(gedit+gcc)。

【问题讨论】:

  • 您是否包含了 stdio.h?什么是“参数类型”?

标签: linux file-handling gcc


【解决方案1】:

argumenttype 是指向结构的指针的类型定义类型。

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

我刚刚在这个头文件中包含了 stdio.h。 它工作得很好。 所以无论我在哪里使用依赖库的函数或 typedef 的类型,我都必须包含相关的库?

非常感谢!

【讨论】:

  • 如果您将帖子标记为模组,他们可能会将此信息移回您的问题中。我不完全清楚您必须将其作为帐户的一部分收回(如果有的话)。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2014-06-08
    • 1970-01-01
    • 1970-01-01
    • 2011-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-19
    • 2013-11-19
    相关资源
    最近更新 更多