语法错误 - 令牌“;”在“变量名称”之前插入

时间:2010-10-20 05:45:46

标签: c header extern

我在C编程。我收到以下错误:

ctc E208: ["..\..\ECB\Include\ecb.h" 4/11] syntax error - token ";"
inserted before "u8_vTeethBeforeMissingTeeth1"

以下是.h文件中的内容:

#ifndef __ECB_H__
#define __ECB_H__

extern u8 u8_vTeethBeforeMissingTeeth1;
extern u8 u8_vTeethBeforeMissingTeeth2;

#endif /* __ECB_H__ */

有谁能告诉我这部分代码中缺少什么?

2 个答案:

答案 0 :(得分:5)

麻烦的是你的标题不是自包含的。它依赖于此处未定义的类型“u8”(并且未在此之前包含的任何其他标头中定义)。在声明“缺少牙齿”变量之前,您应该在“ecb.h”标题中包含定义“u8”的标题。

标题应该是独立的;如果您需要标题的服务,您应该能够包含它而不必担心还需要包含哪些内容。标准的C标题为您做到了 - 您应该使用自己的标题为自己完成。

答案 1 :(得分:0)

这是我的猜测。你有#define u8,那个定义是错误的。它包含额外的;某处。