正如标题所说,代码打击给出了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;
答案 0 :(得分:3)
此:
enum
{
...
} logType;
声明变量,而不是类型。你想要这个:
enum logType
{
...
};
[附注:通常的C ++约定是类型名称以大写字母开头。]
答案 1 :(得分:2)
在声明enum
时,您在单词enum
后面指定了它的名称,这与使用typedef
为结构创建别名不同。
enum logType
{
log_memory,
log_filesystem,
log_default
};