ожидаемый спецификатор-квалификатор-список перед

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

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

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

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

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

 Prasoon Saurav08 окт. 2010 г., 09:50
@schot: Извините, я не видел комментарии. Исправил это. Благодарю.
 Ronny Brendel08 окт. 2010 г., 11:26
 schot08 окт. 2010 г., 09:48
@Prasoon: Да, но принятый ответ там неполный.
 Prasoon Saurav08 окт. 2010 г., 09:43

Ответы на вопрос(2)

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

typedef struct confType confType;

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

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

Решение Вопроса

как объявили об этом. (для следующего). Вместо этого попробуйте это:

typedef struct confType {
    char *key;
    long canTag;
    long canSet;
    long allowMultiple;
    struct confType *next;
} confType;
 Delan Azabani08 окт. 2010 г., 09:47
Спасибо! Теперь очевидно, что я видел это.
 JoshD08 окт. 2010 г., 22:24
@Delan Azabani: Спасибо за исправление моего ответа. :)

Ваш ответ на вопрос