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.

4

2 Answers

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; 
1

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).

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.