Ошибка объявления структуры в C - PullRequest
3 голосов
/ 24 мая 2010

у меня есть проблема структуры, она возвращает:

cd.h:15: error: two or more data types in declaration specifiers

это, вероятно, что-то простое ...

  struct cd {
        char titel[32];
        char artiest[32];
        int speelduur;  

    };

    typedef struct cd CD;
    struct cdlijst{ 
        CD *item;
        struct cdlijst *next;
    }


    typedef struct cdlijst CDLijst;

Ответы [ 3 ]

5 голосов
/ 24 мая 2010

Возможно, вам нужна точка с запятой после второго объявления структуры, например:

struct cdlijst{ 
    CD *item;
    struct cdlijst *next;
};
3 голосов
/ 24 мая 2010

Ответ в том, что вы пропустили точку с запятой в конце объявления struct cdlijst, добавление точки с запятой решит проблему.

Кстати, я бы рекомендовал Clang для исправления синтаксиса, так как он даст гораздо лучшие объяснения ошибок компиляции.Вот статья, сравнивающая gcc и Clang с сообщениями об ошибках восстановления: http://blog.llvm.org/2010/04/amazing-feats-of-clang-error-recovery.html.

3 голосов
/ 24 мая 2010

Некоторые непонятные сообщения об ошибках (включая это) вызваны такими простыми вещами, как пропущенные точки с запятой.

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