袋implementation.h:
typedef struct node {
struct node *next;
char *element;
int repeats;
} Node;
typedef struct{
size_t size;
Node *head;
}Bag;
在bag.c中包含错误(包括bag.h,包括bag-implementation.h):
Bag bag_union(Bag bag1, Bag bag2){
Bag union;
return bag1;
}
错误:
bag.c: In function 'bag_union':
bag.c:188:12: error: expected '{' before ';' token
bag.c:188:7: error: two or more data types in declaration specifiers
make: *** [bag.o] Error 1
如果我尝试编译而不创建那个包,那么它工作正常。有什么问题?
答案 0 :(得分:2)
union
是C中的保留字,因此您不能拥有这样的变量。只需重命名即可。
答案 1 :(得分:1)
union
是keyword
,不能用于变量。
This是定义变量的规则。