Reputation: 81384
I have this struct type definition:
typedef struct {
char *key;
long canTag;
long canSet;
long allowMultiple;
confType *next;
} confType;
When compiling, gcc throws this error:
conf.c:6: error: expected specifier-qualifier-list before ‘confType’
What does this mean? It doesn't seem related to other questions with this error.
Upvotes: 30
Views: 94523
Reputation: 11268
JoshD's answer now is correct, I usually go for an equivalent variant:
typedef struct confType confType;
struct confType {
char *key;
long canTag;
long canSet;
long allowMultiple;
confType *next;
};
When you only want to expose opaque pointers, you put the typedef
in your header file (interface) and the struct
declaration in your source file (implementation).
Upvotes: 23
Reputation: 12814
You used confType before you declared it. (for next). Instead, try this:
typedef struct confType {
char *key;
long canTag;
long canSet;
long allowMultiple;
struct confType *next;
} confType;
Upvotes: 38