【问题标题】:Basic Syntax Error Unfixable?基本语法错误无法修复?
【发布时间】:2015-06-01 01:52:45
【问题描述】:
   int ATTRIBUTES;
   ATTRIBUTES* addRelation(char*,char*,ATTRIBUTES*);
   void nattr(ATTRIBUTES*);
   void tuplelen(ATTRIBUTES*);
   void infattr(char*,ATTRIBUTES*);
   void addValues(ATTRIBUTES*,char*);
   int count(VALUES*);
   void project(ATTRIBUTES*,char*);
   void select(char*,char*,char*,ATTRIBUTES*);
   int inStringArray(char[]**,int,char*);

起初我认为这是我缺少声明的问题,所以我只是声明了 ATTRIBUTES 有或没有声明它仍然给我下面的错误

有没有人看到我缺少的东西,或者我的程序不可能以这种方式工作?您可以在下面看到每个错误发生的行我很确定我的语法是正确的,所以我对缺少什么感到愚蠢..有人看到我没有看到的东西吗?

[评论更新]

prototypes.h:2:11: error: expected '=', ',', ';', 'asm' or 'attribute' before '' token prototypes.h:3:22: error: expected ')' before '' token     
prototypes.h:4:25: error: expected ')' before '*' token prototypes.h:5:20: error: expected declaration specifiers or '...' before

【问题讨论】:

  • prototypes.h:2:11: 错误:在 ' 之前需要 '='、','、';'、'asm' 或 'attribute' 'token prototypes.h:3:22: error: expected ')' before '' token prototypes.h:4:25: error: expected ')' before '*' token prototypes.h:5:20 : 错误:预期的声明说明符或“...”之前
  • 这些是错误
  • 您是否在代码中的任何位置创建type ATTRIBUTES
  • 只是最上面的声明,我需要更具体的声明吗
  • 第 2 行和第 4 行是什么?

标签: c error-handling compiler-errors


【解决方案1】:

从代码的外观来看,您希望 ATTRIBUTES 与 int 同义。假设是这样,而不是写

int ATTRIBUTES;

这将声明一个 int 类型的变量,命名为 ATTRIBUTES,尝试任一

typedef int ATTRIBUTES;

表示“只要 ATTRIBUTES 用作类型,它就意味着 int”,或者

#define ATTRIBUTES int

稍微粗一点,在编译之前用 int 替换所有 ATTRIBUTES 实例。

如果不查看整个文件,我无法诊断您可能遇到的任何其他错误,但至少应该可以修复您看到的大部分错误。

【讨论】:

  • 没问题,很高兴能帮上忙
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-24
  • 2016-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多