我有lexer.c文件,它应该包含在另一个 .c 文件中。它有
int getToken(string *attribute) {}
lexer.h头文件中的函数和相同的原型。我也有帮助str.c文件来简化字符串的工作。它有带有类型字符串声明的头文件:
typedef struct {
char* str; //string with \0 at the end
int length; //length of the string
int allocated; //allocated memory size
} string;
因此,lexer.h 包含在主文件中。然后 lexer.c 开始于:
#include "str.h"
#include "lexer.h"
据我了解,在包含str.h类型字符串后, lexer.c和 lexer.h可见。但是我在头文件的原型中有编译错误:
./lexer.h:65:14: error: unknown type name 'string'
int getToken(string *attribute);
^
1 error generated.
如何在头文件中使用这种类型?