我尝试声明bag结构时出错?

时间:2016-04-24 18:59:00

标签: c struct

袋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

如果我尝试编译而不创建那个包,那么它工作正常。有什么问题?

2 个答案:

答案 0 :(得分:2)

union是C中的保留字,因此您不能拥有这样的变量。只需重命名即可。

答案 1 :(得分:1)

unionkeyword,不能用于变量。   This是定义变量的规则。