Ожидаемый список спецификаторов-спецификаторов до
У меня есть это определение типа struct:
typedef struct {
char *key;
long canTag;
long canSet;
long allowMultiple;
confType *next;
} confType;
При компиляции gcc выдает эту ошибку:
conf.c:6: error: expected specifier-qualifier-list before ‘confType’
Что это значит? Это не похоже на другие вопросы с этой ошибкой.
Ответы
Ответ 1
Вы использовали confType, прежде чем объявили его. (для следующего). Вместо этого попробуйте следующее:
typedef struct confType {
char *key;
long canTag;
long canSet;
long allowMultiple;
struct confType *next;
} confType;
Ответ 2
Теперь ответ JoshD верен, я обычно предпочитаю эквивалентный вариант:
typedef struct confType confType;
struct confType {
char *key;
long canTag;
long canSet;
long allowMultiple;
confType *next;
};
Если вы хотите показывать непрозрачные указатели, вы помещаете typedef
в свой файл заголовка (интерфейс) и объявление struct
в исходный файл (реализация).