包实现.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
如果我尝试编译而不创建包,那么它就可以正常工作。怎么了?
最佳答案
union
是C中的保留字,因此不能有这样的变量。只需重命名它。
关于c - 当我尝试声明bag struct时出错?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36827545/