ожидаемый список спецификаторов - PullRequest
24 голосов
/ 08 октября 2010

У меня есть определение типа структуры:

typedef struct {
    char *key;
    long canTag;
    long canSet;
    long allowMultiple;
    confType *next;
} confType;

При компиляции gcc выдает эту ошибку:

conf.c:6: error: expected specifier-qualifier-list before ‘confType’

Что это значит? Эта ошибка не связана с другими вопросами с этой ошибкой.

Ответы [ 2 ]

29 голосов
/ 08 октября 2010

Вы использовали confType, прежде чем объявили это. (для следующего). Вместо этого попробуйте это:

typedef struct confType {
    char *key;
    long canTag;
    long canSet;
    long allowMultiple;
    struct confType *next;
} confType;
16 голосов
/ 08 октября 2010

Теперь ответ JoshD правильный, я обычно использую эквивалентный вариант:

typedef struct confType confType;

struct confType {
    char *key;
    long canTag;
    long canSet;
    long allowMultiple;
    confType *next;
};

Если вы хотите использовать только непрозрачные указатели, вы помещаете typedef в заголовочный файл (интерфейс) и объявление struct в исходный файл (реализацию).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...