enum in struct compile error - PullRequest
       10

enum in struct compile error

0 голосов
/ 18 декабря 2011

, как сказал заголовок, удар кода выдает ошибку с g ++:

error: expected specifier-qualifier-list before ‘logType’

Код:

enum 
{
     log_memory,
     log_filesystem,
     log_default
}logType;

typedef struct
{
     logType type;
     void (*logPrint)(char* msg);

}logsystem;

Ответы [ 2 ]

3 голосов
/ 18 декабря 2011

Это:

enum
{
    ...
} logType;

объявляет переменную , а не тип .Вы хотите это:

enum logType
{
    ...
};

[ Примечание: в обычных соглашениях C ++ имена типов должны начинаться с заглавной буквы. ]

2 голосов
/ 18 декабря 2011

При объявлении enum вы указываете его имя сразу после слова enum, это не похоже на использование typedef для создания псевдонима структуры.

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