在objective-c文件中的结构中声明枚举时出现错误。我最近升级到LLVM 5并且之前没有出现此错误。我尝试过C99和C11。任何想法是错的还是以前允许的非法语法?
struct LogParams
{
typedef NS_ENUM (int, Level) // Error type name does not allow storage class to be specified
{
LevelTrace = 0,
LevelDebug,
LevelInfo,
LevelWarn,
LevelError,
LevelFatal
};
uint64_t time;
};
答案 0 :(得分:1)
在结构体内声明枚举或typedef在C ++和Objective-C ++翻译中有效。
在C或Objective-C中不合法。